Re: [理工] [OS] 99交大資訊聯招 fork() 的問題?

看板Grad-ProbAsk作者 (生既無歡 死又何懼?)時間15年前 (2010/12/24 23:25), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串2/3 (看更多)
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

12/25 08:48, , 1F
!!!喔喔 我懂了= =我一直漏看if的 謝啦
12/25 08:48, 1F

12/25 09:21, , 2F
問一下 所以是if那裏會產生 parent 跟child
12/25 09:21, 2F

12/25 09:22, , 3F
然後==0在判斷讓child進去?
12/25 09:22, 3F

01/05 15:53, , 4F
Y
01/05 15:53, 4F

02/09 11:26, , 5F
可是i=1時parent的值應該不為0也要算進去嗎?
02/09 11:26, 5F
文章代碼(AID): #1D5Bk1q0 (Grad-ProbAsk)
文章代碼(AID): #1D5Bk1q0 (Grad-ProbAsk)