【发布时间】:2012-11-16 17:35:06
【问题描述】:
int x=0;
int main()
{
for(i=0;i<2;i++)
{
fork();
x=x+5;
}
return 0;
}
我是fork() 概念的新手。上面的树(带有x 值)是上面提到的 C 代码的正确解决方案吗?节点中的值分别是其进程的x值。
我们也可以将值从子进程返回给父进程吗?假设在上面的示例代码中,我可以将子进程的x 值返回给父进程吗?
【问题讨论】:
-
那甚至无法编译。
-
不太清楚你的图是什么意思,但假设(有向)边代表父子进程关系并且根是原始进程,那么 5 应该是 10,因为 4 个进程中的每一个最终将 x 增加 5 两次。不管怎样,你到底想要做什么?
-
是的。图中的根代表开始的原始过程,有向边显示父子关系。我想知道的是-总共形成了多少个节点以及x值是否在各个节点中是否正确?谢谢。
-
该图中有大量令人分心的空白。
标签: c unix process operating-system fork