包括:
一. volatile概念
一. volatile概念
二.使用volatile需要注意的地方
一. volatile 关键字
volatile是一个比较轻量级的同步,用于修饰变量,不能用于修饰方法。当一个变量被声明成 volatile,任何对该变量的读写操作都会绕过高速缓存,直接读写主内存,这表示所有线程在任何时候看到的 volatile 变量值都相同。
一. volatile 关键字
volatile是一个比较轻量级的同步,用于修饰变量,不能用于修饰方法。当一个变量被声明成 volatile,任何对该变量的读写操作都会绕过高速缓存,直接读写主内存,这表示所有线程在任何时候看到的 volatile 变量值都相同。
优缺点:
- 优点:更少的代码量来实现多线程,而且比较好理解,无须太多的学习成本。
- 缺点:volatile只能保证变量的可见性,无法保证原子性。除此之外,由于volatile屏蔽掉了VM中必要的代码优化,所以在效率上会稍微低点。这是两个缺点。
二. 使用volatile 需要注意的地方