1、考虑三个进程P1、P2、P3进行以下内存访问操作:P1:(1) A = 1; (2) C = 1; P2:(1) B = A; P3:(1) D = C; 变量A、B、C、D初始值都为0。使用顺序一致性模型,变量B和D可能取哪些值?
变量 B 可能为 0 或 1 ,变量 D 可能为 0 或 1 。
因为在 顺序一致性模型 下,所有处理器的内存访问操作按程序顺序执行且全局顺序一致,但不同处理器操作的交错顺序有多种可能。
- 若
P2在P1的A = 1执行前读取A,B为0; - 若在之后读取,
B为1。
同理:
- 若
P3在P1的C = 1执行前读取C,D为0; - 若在之后读取,
D为1。

最低0.47元/天 解锁文章
1214

被折叠的 条评论
为什么被折叠?



