首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我试图弄清楚在这个上下文中fork()是如何工作的,但我似乎不明白答案是如何实现的

我试图弄清楚在这个上下文中fork()是如何工作的,但我似乎不明白答案是如何实现的
EN

Stack Overflow用户
提问于 2018-10-31 07:45:34
回答 1查看 118关注 0票数 0
代码语言:javascript
复制
#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分)

EN

回答 1

Stack Overflow用户

发布于 2018-10-31 11:39:49

在你们的帮助下我找到了答案。解决方案提供了一个图表,但它令人困惑。然而,使用二叉树,我能够创建一个更好的图表版本,更好地解释这一过程。

相同的颜色块代表相同的过程,只是在进程的不同点上。二叉树的子代表示进程的数量,打印输出从那里写入。看看吧,谢谢你的帮助。我知道现在发生了什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53074393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档