似乎没有任何情况可以得出结论:memory_order_seq_cst
操作A在他们的单个总顺序中在另一个B之前,但A既不发生在B之前,也不发生在A之前。
因此,由于这一点和N4700 [atomics.order] 32.3\ 3,我断言关系“发生在”之前“和”先于单个总顺序“是等价的。因此所有这些规则: 32.3 \ 3,4,5,6,7 是多余的。它们已经被[intro.races] 6.8.2.1\ 14, 15, 16, 17中的一致性规则和[atomics.fences] 32.9\ 2, 3, 4中的围栏规则所涵盖。
答案 0 :(得分:1)
似乎没有案例......
哦,好吧,there it is。
/verbosity:quiet
此示例演示了需要顺序排序的情况。任何其他排序都可能触发断言,因为线程c和d有可能以相反的顺序观察原子x和y的变化。