TA貢獻1804條經驗 獲得超3個贊
volatile保證了數據的可見性,但是不保證原子性,volatile本來就不是用來處理并發情況下的,只能用在根據它修飾的變量進行判斷處理,但是不能讓它本身進行處理
volatile的非原子性:線程工作內容中的值從主內存中直接加載,一旦加載完成,就不會再產生對應的變化。JVM保證的是從主內存中加載到線程工作內存中的值是最新的,但是無法保證原子性。 volatile解決的是變量讀時的可見性問題,無法保證原子性
TA貢獻1839條經驗 獲得超15個贊
你看看字節碼文件就明白啦,++i,是兩條指令
舉報
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號