AtomicReference.compareAndSet(old,new)是否保证old.field没有改变?

是否AtomicReference.compareAndSet(old,new)保证

  1. old.field 不是变了吗?
  2. 或者它只是保证old不会重新分配给新对象?

如果 2 为真,这是否意味着AtomicReference仅对不可变对象有用,例如String?(因为在可变性的情况下oldold.field变化都将丢失与成功 compareAndSet

回答

AtomicReference 检查引用相等性,不检查字段的更改。

因此,它主要只对不可变类型有用。

  • Yes, basically.

以上是AtomicReference.compareAndSet(old,new)是否保证old.field没有改变?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>