gpt4 book ai didi

java - 相同的条件逻辑为 Java 中的 AtomicBoolean 生成两个截然不同的字节码。为什么?

转载 作者:行者123 更新时间:2023-12-01 23:11:18 26 4
gpt4 key购买 nike

如果我这样做,我的程序就会运行得很好:

if (atomicBoolean1.get() == false && atomicBoolean2.get() == true 
&& !atomicBoolean1.compareAndSet(false, true)) {

continue;
}

现在如果我这样做,一切都会崩溃:

if (atomicBoolean1.get() == false && atomicBoolean2.get() == true) {

continue;
}

if (!atomicBoolean1.compareAndSet(false, true)) {

continue;
}

我是不是疯了?

最佳答案

继续跳转到下一个迭代。

它们并不相同。应该是一样的

if (atomicBoolean1.get() == false && atomicBoolean2.get() == true) {   
if (!atomicBoolean1.compareAndSet(false, true)) {
continue;
}
}

关于java - 相同的条件逻辑为 Java 中的 AtomicBoolean 生成两个截然不同的字节码。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21925839/

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