volatile特性

volatile特性

多线程中可见性

可见性:就是一个线程修改了变量,其他线程可以知道。

保证可见性的常见方 法:volatile、synchronized、final(一旦初始化完成,其他线程就可见)

volatile基本上是JVM提供的最轻量级的同步机制,用volatile修饰的变量,对所有的线程可见,即对volatile变量所做的写操作能立即反应到其他线程中。

用volatitle修饰的变量,在多线程环境下仍然是不安全的

用volatile修饰的变量,是禁止指令重排优化的

适合使用volatile的场景:

运算结果不依赖当前的值

或者能确保只有一个线程修改变量的

---- The end of this article ----