作者compulsory (生既無歡 死又何懼?)
看板Grad-ProbAsk
標題Re: [理工] [OS] 99交大資訊聯招 fork() 的問題?
時間Fri Dec 24 23:25:49 2010
int main()
{
for(i=0;i<3;i++)
if(fork()==0) [1]
{
fork(); [2]
fork(); [3]
fork(); [4]
}
}
i=0時
父
↓
子 --------------[1]
↓
子 --------------[2]
↓\
子 子-----------[3]
/ ↓ ↓\
子 子 子 子-------[4]
最開始的parent可以創造出8個child
i=1的時候進入此loop的process有9個
所以可以造出9*8個
i=2的時候進入此loop的process有9+9*8個
所以可以造出(9+9*8)*8
以上全部再加起來就是了
我的一點看法 有錯請指正
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.13.191
→ aoqq12:!!!喔喔 我懂了= =我一直漏看if的 謝啦 12/25 08:48
→ aoqq12:問一下 所以是if那裏會產生 parent 跟child 12/25 09:21
→ aoqq12:然後==0在判斷讓child進去? 12/25 09:22
→ wxywxywxy:Y 01/05 15:53
推 dog310764:可是i=1時parent的值應該不為0也要算進去嗎? 02/09 11:26