修改顺序
对一个特定的原子变量的修改,以限定于此原子变量的单独全序进行。
对所有原子操作保证下列四个要求:
1) 写写连贯:若修改某原子对象 M 的求值 A(写操作)先发生于 修改 M 的求值 B,则 A 在 M 的修改顺序 中早于 B 出现。
2) 读读连贯:若某原子对象 M 的值计算 A(读操作)先发生于 对 M 的值计算 B,且 A 的值来自对 M 的写操作 X,则 B 的值要么是 X 所存储的值,要么是在 M 的修改顺序 中后于 X 出现的 M 上的副作用 Y 所存储的值。
3) 读写连贯:若某原子对象 M 的值计算 A(读操作)先发生于 M 上的操作 B(写操作),则 A 的值来自 M 的修改顺序 中早于 B 出现的副作用 X (写操作)。
4) 写读连贯:若原子对象 M 上的副作用 X(写操作)先发生于 M 的值计算 B(读操作),则求值 B 应从 X 或从 M 的修改顺序 中后随 X 的副作用 Y 取得其值。