建立新程序的實際應用場景及fork總結

2021-10-11 22:30:02 字數 565 閱讀 9612

1.fork建立乙個子程序的一般目的:

實際應用場景:例如:伺服器(socket)在收到乙個連線請求時,建立子程序對接

#include

#include

#include

intmain()

else

if(pid ==0)

}}else

}return0;

}

2.fork總結:由fork建立的新程序稱為子程序。fork函式被呼叫一次。但返回兩次,兩次返回的唯一區別是子程序的返回值為0,而父程序的返回值則是新子程序的程序id。將子程序id返回給父程序的理由是:因為乙個程序的子程序可以有多個,並且沒有乙個函式使乙個程序可以獲得其所有子程序的程序id。fork使子程序得到返回值0的理由是:乙個程序只會有乙個父程序,所以子程序總是可以呼叫getppid以獲得其父程序的程序id(程序id為0總是由核心交換程序使用,所以乙個子程序的程序id不可能為0,fork函式有乙個返回值為0,這裡的0只是表示此程序是乙個子程序而已)。

volatile的用法和實際應用場景

1 volatile提醒編譯器它後面所定義的變數隨時有可能改變,因此編譯後的程式每次需要儲存或讀取這個變數的時候,都要小心地。從該變數的位址中讀取。如果沒有volatile關鍵字,則編譯器就可能優化讀取和儲存,可能暫時使用暫存器中的值。當要求使用volatile宣告變數的時候,系統總是重新從它所在的...

Redis在Php專案中的實際應用場景

採用redis 的型別 hash.如果你對redis資料型別不太熟悉,可以參考 為product定義個key product 為每種數值定義hashkey,譬如喜歡數like num redis hset product 123 like num 5 新增 id為123的商品 like num 為5...

Redis在Php專案中的實際應用場景

一些案例中有的同學說為什麼不可以用string型別,string型別完全可以實現呀 我建議你看下我的專欄文章 redis高階用法 裡面介紹了用hash型別的好處 採用redis 的型別 hash.如果你對redis資料型別不太熟悉,可以參考 為product定義個key product 為每種數值定...