我很难理解fork()命令在不同场景下执行的操作。下面是我的书,一些示例代码:与fork相混淆()
int main() {
int a = 12;
int b = 9;
int fid = fork();
if (fid == 0) {
a++;
}
else {
wait(NULL);
b = b - 5;
}
printf("program exit. a = %d, b = %d\n", a, b);
return 0;
}
有人能走我通过什么叉()命令在这种情况下,这样做也许会给一些例子来澄清?
请注意,处理'fork()'时没有多线程(标记已移除)。您正在处理多个进程(多处理),而不是单个进程内的多个线程(多线程)。 –
fork()也可以返回-1,也许你可以用switch(fid){...}来处理。 –
@JonathanLeffler注意。谢谢! – raphnguyen