java AtomicReference如何在后台运行?我尝试查看代码,但基于sun.misc.Unsafe,所以可能另一个问题是Unsafe如何工作?

最佳答案

这是特定于当前的实现,可以更改,但不一定是文档



有两个操作。单次读/写或原子交换。

  • 单个读/写是简单的volatile加载或存储。
  • 原子交换需要处理器级别的指令。最常见的实现是在sparc-TSO,x86和ia64上找到的Compare and Swap(CAS),在arm,ppc和alpha上找到LL/SC。我敢肯定,还有更多我想念的东西,但这使您对范围有了一个了解。



  • 不安全性通过利用处理器指令的 native 方法来工作。

    资料来源:

    http://gee.cs.oswego.edu/dl/jmm/cookbook.html

    09-11 20:49