gpt4 book ai didi

java - 比较并设置预期时的内存效果==更新

转载 作者:行者123 更新时间:2023-12-02 03:07:04 25 4
gpt4 key购买 nike

Java 通过其原子类公开 CAS 操作,例如

AtomicInteger.compareAndSet(预期,更新)

expected == update时,这些调用是无操作还是它们仍然具有 volatile 读+写的内存一致性效果(就像expected !=更新)?

最佳答案

我检查了 native 代码,并且值相等时似乎没有任何差异。特别是在这种情况下,因为整数等价不会在引用上这样做。

它将在事件 expected != update

中以相同的内存一致性运行相同的逻辑

需要注意的是,该字段的位置上始终至少会有一个 volatile 负载,因此您至少会对支持 int 字段进行 volatile 读取。

关于java - 比较并设置预期时的内存效果==更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12495971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com