gpt4 book ai didi

Java 的原语上的 volatile

转载 作者:行者123 更新时间:2023-12-01 08:13:06 24 4
gpt4 key购买 nike

为什么我们需要基元上的 volatile ?我发现的最常见的例子是 that :

volatile boolean shutdownRequested;

...

public void shutdown() { shutdownRequested = true; }

public void doWork() {
while (!shutdownRequested) {
// do stuff
}
}

但是当我尝试自己运行它时。 volatile 声明没有改变。它以 volatile 和非 volatile 停止 shutdownRequested

最佳答案

从本质上来说,Volatile 是用来表示一个变量的值会被不同的线程修改。

volatile Java 变量意味着:

该变量的值永远不会在线程本地缓存:所有读取和写入都将直接进入“主内存”;并且对变量的访问就像将其包含在同步块(synchronized block)中一样,对其自身进行同步。

关于Java 的原语上的 volatile ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15786619/

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