问题 单项选择题

有两个并发进程,对于这段程序的运行,正确的说法是( )。

答案

参考答案:C

解析:本题中两个进程不能正确地工作,运行结果的可能性,详见下面说明。
1.x=1; 5.x=0;
2.y=0; 6.t=0
3.Ifx>=1 then y=y+1; 7.ifx<=1 then t=t+2;
4.z=y; 8.u=t;
不确定的原因是由于使用了公共的变量x,考察程序中与变量x有关的语句共四处,若执行的顺序是1→2→3→4→5→6→7→8时,结果是y=1,z=1,t=2,u=2,x=0;当并发执行过程是1→2→5→6→3→4→7→8时,结果是y=0,z=0,t=2,u=2:x=0;若执行的顺序是5→6→7→8→1→2→3→4时,结果是y=1,z=1,t=2,u=2,x=1;若执行的顺序是5→6→1→2→7→8→3→4时,结果是y=1,z=1,t=0,u=0,x=1;可见结果有多种可能性。

填空题
多项选择题 案例分析题