在某些情况下,volatile关键词的性能优于synchronized,但需要注意的是,volatile关键词不能取代synchronized关键词,因为volatile关键词不能保证操作的原子化。
应用场景
1、只能在有限的一些情形下使用volatile变量替代锁。变量不依赖于当前值。
2、该变量不包括在其他变量的不变形式中。
实例
volatile boolean shutdownRequested; ... public void shutdown() { shutdownRequested = true; } public void doWork() { while (!shutdownRequested) { // do stuff } }
以上就是java中volatile的应用场景,希望对大家有所帮助。更多Java学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。