第十八章 併發程式的基本實現 多程序

2021-09-07 08:53:50 字數 768 閱讀 7040

linux 是多道處理系統,當然能夠在同一段時間內處理多個程式。

本文將介紹具體該如何操作。

此函式的作用是建立乙個子程序,呼叫後,呼叫程序和建立的新程序就會併發執行( 從呼叫處開始 )。它呼叫一次,卻返回兩次,一次是在呼叫程序內,返回子程序id,另一次是在建立的新程序( 子程序 )內,返回 0。

函式的具體說明請參閱相關文件。

1 #include 2 #include 3

4int main (void

) 15

else

if (pid < 0

) 22

else

2930

return0;

31 }

此程式將讓兩個程序交替的每隔 1 秒列印它們的各自程序 id:

1. 本文講述的是最簡單最基本的併發實現,很多更複雜的併發實現都是基於這個框架的。

2. 如果要確保子程序先執行,並且在啟動子程序後立馬 exec 乙個新程式的話,請將 fork 換成 vfork。

程式江湖 第十八章 察顏觀色的夥伴

中午吃完飯,歐陽明和幾個同事,在南京分公司下面的地下商場裡散步。一是為了消食,而是為了納涼。突然,一聲刺耳的鳴笛響起,大家還沒明白怎麼回事,就發現有人突然奔跑起來,於是所有的人都跟著跑起來。互相之間還問問,怎麼回事啊?不知道啊!歐陽明屬於後知後覺,不隨意跟風的那種。沒搞明白回事,是不願意跟著瞎跑的。...

第十八章 TCP連線的建立和終止

為了建立一條tcp連線 1 請求端傳送乙個syn段指明客戶打算連線的伺服器端口,以及初始序號 isn 這個syn為報文段1.2 伺服器發回包含伺服器的初始序號的syn報文段作為應答。同時,將確認序號設定為客戶的isn加1以對客戶的syn報文段進行確認。乙個syn占用乙個序號 3 客戶必須將確認序號設...

《Linux核心設計與實現》第十八章讀書筆記

需要 1.乙個bug。2.乙個藏匿bug的核心版本。3.相關核心 的知識和運氣。在使用者級的程式裡,bug常常表現得很直截了當 但在核心中卻不那麼清晰。核心中bug多種多樣,不僅產生原因千奇百怪,表象也變化多端。如 從隱藏在源 中的錯誤到展現出來的bug,往往是經歷一系列連鎖反應的時間才可能觸發的。...