问题
单项选择题
有两个并发进程P1、P2,其程序代码如下:
可能打印出z的值有()可能打印出的c值有()(其中x为P1、P2的共享变量)。
A.z=1,-3;c=-1,9
B.z=-1,3;c=1,9
C.z=-1,3,1;c=9
D.z=3;c=1,9
答案
参考答案:B
解析:
本题关键是输出语句A2、B2中读取的x的值不同,由于A1、B1执行有先后问题,使得在执行A2、B2前,x的可能取值有两个就是1、-3;这样输出z的值可能是1+2=3或者是(-3)+2=1;输出c的值可能是1×l=1或者是(-3)×(-3)=9。