volatile关键字
volatile是java提供的最轻量级的同步机制。
volatile的两个特性:
1)保证此变量对所有线程的可见性
对于普通变量,修改变量值后需要先写入主内存,其他线程读取主内存后才能更新。
而当一条线程修改了volatile变量值时,所有线程都可以即时看到。
2)禁止指令重排序优化
保证变量赋值操作顺序与代码中执行顺序一致。
volatile是java提供的最轻量级的同步机制。
对于普通变量,修改变量值后需要先写入主内存,其他线程读取主内存后才能更新。
而当一条线程修改了volatile变量值时,所有线程都可以即时看到。
保证变量赋值操作顺序与代码中执行顺序一致。