1:作用
? ??用volatile修飾的變量對所有線程的可見性。
2:工作內(nèi)存與主內(nèi)存
????????一般變量:優(yōu)先讀取工作內(nèi)存规丽,若不存在,則總從主內(nèi)存中copy一份到工作內(nèi)存撇贺,讀寫操作都只修改工作內(nèi)存赌莺;
????????volatile修飾的變量:當(dāng)一個線程修改了變量的值,新的值會立刻同步到主內(nèi)存當(dāng)中松嘶。而其他線程讀取這個變量的時候艘狭,也會從主內(nèi)存中拉取最新的變量值。
3:volatile修飾的變量并不保證線程安全
4:什么時候適合用volatile呢翠订?
1.運(yùn)行結(jié)果并不依賴變量的當(dāng)前值巢音,或者能夠確保只有單一的線程修改變量的值。
2.變量不需要與其他的狀態(tài)變量共同參與不變約束尽超。