原子性是否保证每个线程都看到相同的值



我知道原子性是保证没有其他线程看到部分或瞬态状态变化,他们只看到一致的状态。但它可能是旧的状态,还是总是新的状态?

假设我们有3个线程。线程1以原子方式更新变量。现在是保证其他2个线程看到新值,还是可能有人看到旧值?

原子性和可见性是不同的保证。您可能使用的几乎每一个CPU都保证本机大小的对齐读写是原子的。但他们中的大多数人并不能保证这样的读写立即可见。

最新更新