volatile
volatile
1.保证线程可见性
即 线程可以看到最新的值(其他线程或者普通的操作,导致主内存中此变量更新)
2.不保证原子性
多线程下,多行操作的执行不具有原子性,多线程可能会穿插进行
如何保证:
		使用lock,或者synchronized(不推荐)
		使用原子类,JUC.automic包下的类,如AutomicInteger等
3.禁止指令重排
由于内存屏障,保证特定的操作的执行顺序!
可以保证某些变量的内存可见性(利用这些特性volatile实现了可见性)
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号