嗨,我有一个简单的问题,但时间问题让我感到不安。假设这是代码。
#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情况),我只看到“完成了!”一旦。