作者jameschou (DOG)
看板Grad-ProbAsk
標題Re: [理工] [ OS ]fork
時間Fri Jan 21 17:37:01 2011
※ 引述《haha3 (54321)》之銘言:
: How many processes are created?(including the main() process)
: Void main()
: {
: if( fork() == 0 )
: {
: Fork();
: Fork();
: }
: Fork();
: }
: 答案是給10
: 想很久都湊不到十,請問要怎麼算?
main() <= 1個
這行if( fork()==0 ) 的fork 1個
然後分成
父 子
{}內不做 做{}內:
然後最下面的 第一個fork()又分裂成兩個行程
fork(); / \
第二個:fork() fork()
=>父: 1個 / \ / \
這四個再分別做最下面的fork()
=> 子: 1+2+4 = 7個
全部就是最上面2個加上父1個加上子7個 => 共10個
不確定對不對
不過看起來好像有點道理@@
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.179.202
推 MiiQ:最上面兩個? 01/21 18:06
→ jameschou:一個main (題目要求的), 一個是if內的fork ("子"那個) 01/21 19:18