首页 > 文章列表 > java中的volatile怎么应用

java中的volatile怎么应用

java volatile
468 2023-05-05

在某些情况下,volatile关键词的性能优于synchronized,但需要注意的是,volatile关键词不能取代synchronized关键词,因为volatile关键词不能保证操作的原子化。

应用场景

1、只能在有限的一些情形下使用volatile变量替代锁。变量不依赖于当前值。

2、该变量不包括在其他变量的不变形式中。

实例

volatile boolean shutdownRequested;
 
...
 
public void shutdown() {
    shutdownRequested = true;
}
 
public void doWork() {
    while (!shutdownRequested) {
        // do stuff
    }
}