Re: [問題] 有關fork()指令的實例問題
看板C_and_CPP (C/C++)作者jimmyoic (jimmyoic)時間13年前 (2012/10/14 17:44)推噓1(1推 0噓 1→)留言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
10/14 20:46, 1F
推
10/15 10:32, , 2F
10/15 10:32, 2F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章