我很難理解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