所在包:java.util.concurrent`---> `AtomicInteger` `Lock` `ReadWriteLock
volatile是java虛擬機提供的輕量級的同步機制
做用:保證可見性、不保證原子性、禁止指令重排
原子性:不可分割、完整性,即某個線程正在作某個具體業務時,中間不能夠被加塞或者被分割,須要總體完整,要麼同時成功,要麼同時失敗 驗證示例(變量添加volatile關鍵字,方法不添加synchronized)
可見性:當多個線程訪問同一個變量時,一個線程修改了這個變量的值,其餘線程可以當即看到修改的值
指令重排:有序性:在計算機執行程序時,爲了提升性能,編譯器和處理器經常會對指令作重排