java中volatile 关键字的作用?
时间: 2024-05-12 16:12:24 浏览: 120
java volatile关键字作用及使用场景详解
Java 中的 `volatile` 关键字可以保证可见性和有序性,它的作用主要有两个方面:
1. 可见性:当一个变量被声明为 volatile 后,它会保证所有线程都能够看到该变量的最新值,即当一个线程修改了该变量的值,其他线程立即可以看到修改后的值,这个特性可以避免出现脏读的情况。
2. 有序性:在多线程环境下,JVM 会对代码进行指令重排来提高执行效率,但这种重排可能会导致程序出现意想不到的结果。而使用 volatile 关键字可以禁止 JVM 对指令进行重排,从而保证程序的正确性。
需要注意的是,volatile 只能保证单次读/写的原子性,不能保证多次读/写的原子性,如果需要保证多次读/写的原子性,需要使用 synchronized 或者 Lock。
阅读全文