为什么在读取和设置简单引用时使用 AtomicRefernce 已经是原子操作

Why to use AtomicRefernce when reading & setting simple reference is already atomic operation

有人可以澄清我对 AtomicReferences 的疑问。作为 par java 内存模型,无论 32 位还是 64 位机器,读取和写入引用始终是原子操作。那么在什么场景下使用AtomicRefernce会有用

AtomicReference 提供的其他操作无法通过普通引用实现。

例如,要确定您要替换哪个值:

ref.compareAndSet(expectedCurrentValue, newValue);

要获取最后一个值并替换为其他值:

oldValue = ref.getAndSet(newValue);

使用 AtomicReference 即使多个线程试图访问相同的引用,您也可以安全地执行这些操作。