[英]How java AtomicReference works under the hood
Java AtomicReference如何在引擎盖下工作? 我尝试查看代码,但基于sun.misc.Unsafe,所以可能另一个问题是不安全是如何工作的?
这是特定于当前实现的并且可以改变但不一定是文档
Java AtomicReference如何在引擎盖下工作
有两个操作。 单读/写或原子交换。
volatile
加载或存储。 另一个问题是不安全是如何运作的?
不安全通过利用处理器指令的本机方法工作。
资料来源:
AtomicReference有两个领域: -
* value,它是引用* valueOffset,它是来自'this'的值的位置,即AtomicReference
在compareAndSwap(预期,更新)中,使用==语义与“expected”比较此位置+ valueOffset处的对象,如果==,则使用“updated”进行更新。
这是一个单一的硬件指令,因此保证以原子方式返回错误或失败。
从openJDK中读取不安全的源代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.