|
|
1
5
您可以为此代码构建SC执行的穷举列表,并实现无SC执行生成(1,0,1,0)。 就模型而言,这很容易引起争论。同步顺序(SO)一致性表示,同步读取应该在SO中看到最后一次同步写入。SO-PO一致性表示SO应与程序顺序一致。 这允许通过矛盾来勾画证明。假设产生(1,0,1,0)的执行存在。然后,在这些执行中,由于一致性,读取看到的零必须按以下顺序:
...另外两个读操作必须按照写操作的顺序才能看到它们(由于一致性):
...此外,由于SO-PO的一致性:
这会产生奇怪的传递,因此是循环的:
|
|
|
2
2
相信我明白了。 假设我们有4个线程。t1-t4(根据图片从左到右) t3 读取 y x 我们看到了结果
这意味着顺序如下:
让我们检查一下 t4 读数:
根据t3的推理,这意味着
|
|
3
2
幻灯片显示
但在SC世界中,一旦发生写操作(我们知道这是因为
禁止
|