为什么我们需要在原语上使用 volatile?我发现的最常见的例子是:
volatile boolean shutdownRequested;
...
public void shutdown() { shutdownRequested = true; }
public void doWork() {
while (!shutdownRequested) {
// do stuff
}
}
但是当我试图自己运行它时。易失性声明没有任何改变。它以易失性和非易失性停止shutdownRequested