volatile关键字

83 阅读1分钟

volatile

volatile是一个关键字,一般用来标记一个变量,他的作用是强制线程从公共内存中读取变量的值,而不是从线程本地缓存中读取变量的值。

  • 保证了 可见性和有序性,但是不能保证原子性
  • 实现原理:使用主内存对线程可见,(内存屏障和缓存一致性)---(对于被 volatile 关键字修饰的变量,访问它的时候并不会从线程缓存中获取值,而是直接从主内存中读取最新的值。同时,每次对 volatile 变量的写操作都会立即刷新到主内存中。)
  • 使用场景:单例模式

具体请看:volatile关键字解析