首页 > 试题广场 >

多个进程同时访问共享的全局变量a,b,c,对于如下的两个例子

[不定项选择题]
多个进程同时访问共享的全局变量a,b,c对于如下的两个例子,变量a,b,c可能的取值有()
例1:进程X、Y共享全局变量a,在某一执行时刻X更新变量a为2,在另一执行时刻,进程Y更新变量a为3
例2:进程P、Q共享全局变量b=2、c=3,在某一执行时刻P执行赋值语句b=b+c,在另一执行时刻,进程Q执行赋值语句c=b+c
  • 2、5、8
  • 2、5、3
  • 3、7、5
  • 5、4、3
这个题目我觉得得强调一下是最终结果,否则因为是非同步操作,理论上如果P先执行了,Q还没执行 从答案的合理性来看,某一个时间间隔内答案B也是可以成立的
发表于 2025-03-13 00:00:40 回复(0)
变量a取值可能2/3
进程X和Y并发修改共享变量a,最终值取决于最后一次写入操作。
若X的写入(a=2)在Y之后,则a=2;若Y的写入(a=3)在X之后,则a=3。

变量b取值可能5/7,变量c可能取值8/7

  1.  进程P先执行,再执行Q
        b=2+3=5
        c=5(新b值) + 3(旧c值) = 8

  1.  进程Q执行完毕之后执行P
        Q执行 c = 2(旧b值) + 3 = 5
        P执行 b = 2 + 5(新c值) = 7


发表于 2025-02-21 16:35:01 回复(0)