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

应用场景

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

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

实例

volatile boolean shutdownRequested;
 
...
 
public void shutdown() {
    shutdownRequested = true;
}
 
public void doWork() {
    while (!shutdownRequested) {
        // do stuff
    }
}
本文转载于:https://www.yisu.com/zixun/695951.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。