#include <stdio.h>
#include <unistd.h>
int main(void)
{
int pid1=0, pid2=0, pid3=0;
pid1 = fork() ;
pid2 = fork() ;
if(pid1 == 0 ) {
printf("A\n") ;
} else {
pid3 = fork() ;
printf("B\n") ;
}
if (pid2 != 0 && pid3 != 0) {
printf("C\n") ;
}
}运行此程序将创建的进程总数是多少?将打印出每个字符‘A’到‘C’的多少?简要解释一下原因。
2个A的4个B的1个C (2分)
6道工序(含原工序) (2分)
发布于 2018-10-31 11:39:49
在你们的帮助下我找到了答案。解决方案提供了一个图表,但它令人困惑。然而,使用二叉树,我能够创建一个更好的图表版本,更好地解释这一过程。
相同的颜色块代表相同的过程,只是在进程的不同点上。二叉树的子代表示进程的数量,打印输出从那里写入。看看吧,谢谢你的帮助。我知道现在发生了什么。

https://stackoverflow.com/questions/53074393
复制相似问题