📜  门| GATE-CS-2015(套装1)|问题 19

📅  最后修改于: 2021-09-24 05:25:19             🧑  作者: Mango

以下两个函数 P1 和 P2 共享一个初始值为 2 的变量 B,同时执行。

P1() 
{ 
   C = B – 1; 
   B = 2*C;  
}

P2()
{
   D = 2 * B;
   B = D - 1; 
}

B 在执行后可能采用的不同值的数量是
(一) 3
(乙) 2
(三) 5
(四) 4答案:(一)
说明:并发进程可以遵循以下方式。

C = B – 1;   // C = 1
 B = 2*C;    // B = 2
 D = 2 * B;   // D  = 4
 B = D - 1;   // B  = 3


 C = B – 1;   // C = 1
 D = 2 * B;   // D = 4
 B = D - 1;   // B = 3
 B = 2*C;    // B = 2

 C = B – 1;  // C = 1
 D = 2 * B; // D =  4
 B = 2*C;  // B = 2
 B = D - 1;  // B = 3

 D = 2 * B; // D =  4
 C = B – 1;  // C = 1
 B = 2*C;  // B = 2
 B = D - 1;  // B = 3

 D = 2 * B; // D =  4
 B = D - 1;  // B = 3
 C = B – 1;  // C = 2
 B = 2*C;  // B = 4 

B 有 3 种不同的可能值:2、3 和 4。这个问题的测验