1. volatile和synchronized
volatile是能保证可见性,但不能保证原子性
volatile保证对一个变量的写操作先行发生于后面对这个变量的读操作,即:禁止进行指令重排序
使用volatile的变量应该遵循对变量的写操作不依赖于当前值,即是:具有原子操作的变量
Volatile 变量具有 synchronized 的可见性特性,但是不具备原子特性
volatile是能保证可见性,但不能保证原子性
volatile保证对一个变量的写操作先行发生于后面对这个变量的读操作,即:禁止进行指令重排序
使用volatile的变量应该遵循对变量的写操作不依赖于当前值,即是:具有原子操作的变量
Volatile 变量具有 synchronized 的可见性特性,但是不具备原子特性