Re: [問題] 有關fork()指令的實例問題

看板C_and_CPP (C/C++)作者 (jimmyoic)時間13年前 (2012/10/14 17:44), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/2 (看更多)
※ 引述《chinjay (科科男)》之銘言: : 程式如下: : main( ) : { : printf("a\n"); : fork( ); : printf("b\n"); : fork( ); : printf("c\n"); : fork( ); : printf("d\n"); : } : 想請問'a','b','c' and 'd' 會印出幾次呢?? 借這篇標題問一下fork() 首先想問一下這篇原po下面的回文解答是a 1次 b 2次 c 4次 d 8次 在沒有補上\n的情況下卻會是abcdabcdabcdabcdabcdabcdabcdabcd 為什麼差一個\n會這樣呢 還有fork()是 copy 一份parent的code 資料到另一塊記憶體 (非共用) 那它是copy整份parent的code 還是 fork()之後的code呢? 另外之前姑狗過一個網站在講簡單的fork()概念 透過fork()可以製造多工的效果 範例程式碼執行後會印出如下 I am child , i say 1 I am parent, i say 1 (停一秒) I am child , i say 2 I am parent, i say 2 (停一秒) . . . ~44 會有child 跟 parent 在同步say 1,2,3.... 的效果 那fork()有辦法製造出三個以上這類的同步效果嗎? 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.222.135

10/14 20:46, , 1F
因為沒有\n的話,abcd都還在buffer裡,fork的時候一起被複製了
10/14 20:46, 1F

文章代碼(AID): #1GUebmbU (C_and_CPP)
文章代碼(AID): #1GUebmbU (C_and_CPP)