c语言中的fock方法输出hello,涉及fork()的C程序输出的说明
生活随笔
收集整理的這篇文章主要介紹了
c语言中的fock方法输出hello,涉及fork()的C程序输出的说明
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這里使用了幾個概念,第一個是知道fork在什么情況下做什么以及它返回什么.很快,當它被調用時,它會創建一個重復的調用者進程,并在子進程中返回0(邏輯表達式為false),父進程返回非零(邏輯表達式為true).
實際上,它可以在出現錯誤時返回負(非零)值,但在這里我們假設它總是成功.
第二個概念是邏輯表達式的短路計算,例如&&和和||,特別是0&& fork()不會調用fork(),因為如果第一個操作數為false(零),則不需要計算第二個操作數.同樣,1 || fork()也不會調用fork().
另請注意,在子進程中,表達式的計算將繼續與父進程中的計算相同.
另請注意,由于優先級,表達式按以下順序計算:
(fork() && fork()) || (fork() && fork())
這些觀察結果應該引導您找到正確的答案.
考慮fork()&&的簡化示例.叉子()
fork()
/ \
false true && fork()
/ \
false true
所以這里創建了三個進程,其中兩個返回false作為結果,一個返回true.然后為||我們讓所有進程返回false嘗試再次運行相同的語句,所以我們有2 * 3 1 = 7作為答案.
總結
以上是生活随笔為你收集整理的c语言中的fock方法输出hello,涉及fork()的C程序输出的说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 0-1背包动态规划c语言,动态规划解决0
- 下一篇: 购买重疾险、防癌险、百万医疗险,抵御癌症