原子操作在线程之间同步吗?我知道没有一个线程可以看到这样的操作被撤消,但它同步了吗?例如,如果我在一个线程中写入一些var,然后从另一个线程读取(在时域中(,我是否仍然可以看到旧值?
Atomics默认提供顺序一致性(SC(。SC不需要尊重实时订单。因此,可能是在写入执行(甚至失效(后,当另一个CPU进行加载时,它将看不到该写入。因此,按实时顺序,加载发生在写入之后,但按内存顺序,加载"发生在写入之前"。
有关更多信息,请参阅以下答案:是否';易失性';保证任何线程读取最近写入的值?