0

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

  1. old.field没有改变吗?
  2. 或者它只是保证old没有重新分配给新对象?

如果 2 为真,是否意味着AtomicReference仅对不可变对象有用String?(因为在更改的可变性的情况old成功old.field丢失) compareAndSet

4

1 回答 1

6

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

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

于 2021-03-17T18:04:13.890 回答