【发布时间】:2015-01-21 16:57:43
【问题描述】:
我想知道这些选项中哪些是正确的。
一个原子寄存器 R 最初保存值 33 由两个进程 P 和 Q 使用,它们执行 以下并发操作:P 在时间间隔 [2,6] 期间执行 write(R,68) 并且 Q 执行 在时间间隔 [4,7] 期间读取(R)(操作在时间上重叠)。在这种情况下,由于 register 提供原子语义,保证:
(A) 读操作总是返回值 68。
(B) 读操作总是返回值 33。
(C) 读取操作可以返回值 33 或值 68。
(D) 什么都不能保证,因为操作是并发的。
我知道原子寄存器确保
如果 Ri → Rj 则 i j(如果 i 在 j 之前)
【问题讨论】:
-
什么是“原子寄存器”?没听过这个词。寄存器或内存位置不是原子的,对它们的操作是原子的。
标签: concurrency atomic