0
嗨,我有一個簡單的問題,但時間問題困擾着我。假設這是代碼。父進程和子進程時間
#include <stdio.h>
int main() {
int p = fork();
if (p==0) {
printf("ok\n");
sleep(1);
} else {
printf("hey!");
sleep(1);
}
printf("done!");
return 0;
}
我的問題是,將「完成!」當父母和孩子的睡眠時間爲1秒時,總是執行兩次。因爲我注意到當我在子進程中將睡眠增加到10秒(p == 0的情況)時,我只看到「完成!」一旦。
但是總是會在睡眠時打印兩次事件(1)? – 2015-02-08 04:59:19
不,沒有保證,您需要等待()建議回答 – Kam 2015-02-08 05:00:17