📜  门| GATE-IT-2004 |第64章

📅  最后修改于: 2021-06-29 19:27:54             🧑  作者: Mango

进程执行以下代码段:

for(i = 1; i < = n; i++)

fork (); 

创建的新流程数量为

(A) n
(B) ((n(n + 1))/ 2)
(C) 2 n – 1

(D) 3 n – 1答案: (C)
解释:

fork ();    // Line 1
  fork ();   // Line 2
  fork ();   // Line 3
.....till n

       L1       // There will be 1 child process created by line 1
    /     \
  L2      L2    // There will be 2 child processes created by line 2
 /  \    /  \
L3  L3  L3  L3  // There will be 4 child processes created by line 3
........

我们还可以使用直接公式来获取子进程的数量。

使用n个fork语句,总是有2 n – 1个子进程。另请参阅此帖子以获取更多详细信息。
这个问题的测验