我很难理解在不同情况下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()
时不存在多线程(标签已删除)。您正在处理多个进程(多处理),而不是单个进程内的多个线程(多线程)。 - Jonathan Leffler