有两个并发执行的进程P1和P2,共享初值为1的变量x。P1对x加1,P2对x减1。加1和减1操作的指令序列分别如下所示。 //加1操作//减1操作 load R1,x//取x到寄存器R1中load R2,x inc R1 dec R2 store x,R1

admin2015-12-30  57

问题 有两个并发执行的进程P1和P2,共享初值为1的变量x。P1对x加1,P2对x减1。加1和减1操作的指令序列分别如下所示。
//加1操作//减1操作
load R1,x//取x到寄存器R1中load R2,x
inc R1 dec R2
store x,R1//将R1的内容存入X store x,R2
两个操作完成后,x的值_______。

选项 A、可能为-1或3
B、只能为1
C、可能为0、1或2
D、可能为-1、0、1或2

答案C

解析 将P1中3条语句依次编号为1、2、3;P2中3条语句依次编号为4、5、6。则依次执行1、2、3、4、5、6得结果1,依次执行1、2、4、5、6、3得结果2,执行4、5、1、2、3、6得结果0。结-1不可能得出。
转载请注明原文地址:https://kaotiyun.com/show/2ERi777K
0

最新回复(0)