gpt4 book ai didi

java - 可变 boolean 值

转载 作者:搜寻专家 更新时间:2023-11-01 03:59:45 26 4
gpt4 key购买 nike

如果我有一个 volatile boolean 值(我们称之为有效),下面这段代码在 Java 中是线程安全的吗?

if (valid)
return;
valid = true;

或者,我是否需要同步,因为仅当 valid 为 false 时才将其设置为 true(因此 valid 的设置取决于其当前值)?

最佳答案

这需要同步,因为如果一个线程将 valid 评估为 false,然后在赋值之前暂停执行,然后另一个线程出现并检查 valid 是否为 false,在将 valid 设置为 true 之前,您将有两个线程在运行从这里开始的代码(你可能不想要)。

关于java - 可变 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1897211/

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