→ kdjf:因為沒有\n的話,abcd都還在buffer裡,fork的時候一起被複製了 10/14 20:46
※ 引述《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