繁体   English   中英

创建了多少个子进程?

[英]How many child processes are created?

for(i=0;i<5;i++)
for(i=0;i<5;i++) 
fork();

上面的代码创建了多少个子进程?


我的尝试:

我首先解决了内部循环,总共得到 32 个进程,其中 31 个是子进程和 1 个父进程。

然后,我选择了循环 5 次的外循环,从而产生了 31 * 5 = 155 个子进程。


我做对了吗?

 for(int i=0; i<n; i++)
     fork();

对于这种情况,创建的进程总数始终为2^n - 1因为fork()将被n次调用。

for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
     fork();

对于这个双for-loopfork()被调用n^2次,因此创建的进程总数将是,

2^(n^2) - 1

对于此类问题,重要的是计算您的fork()被调用的次数。

对于您的情况n=5因此子进程的总数将为2^25 - 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM