課程
/后端開發(fā)
/Java
/細說Java多線程之內(nèi)存可見性
不是說volatile不保證原子性嗎?為什么對于64位類型的變量用volatile修飾?
2017-08-05
源自:細說Java多線程之內(nèi)存可見性 5-1
正在回答
對于32位操作系統(tǒng),64位變量的讀取同樣不是一個原子操作,需要volidate保證原子性
64位 會分成兩個32位執(zhí)行
對于不加valatile的64位變量,JVM會分成兩次讀寫.
加了volatile一次完成.
jaba?c
修飾只是保證了一次讀寫,不會分成2次。
加了volatile就會一次讀寫,不會分為兩次讀寫。跟volatile不能保證原子性沒有關(guān)系。
我也有同樣的問題
應(yīng)該是syn吧
舉報
用兩種方式實現(xiàn)內(nèi)存可見性,代領(lǐng)大家深層次學(xué)習(xí)Java中的內(nèi)存
1 回答volatile不能保證原子性,解決方法
1 回答最后總結(jié)中,為什么給long或double類型的變量加volatile關(guān)鍵字可以保證原子性?
2 回答volatile原子性
1 回答關(guān)于64位變量加volatile關(guān)鍵字的問題
2 回答volatile原子性問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2019-04-03
volatile
2019-04-03
對于32位操作系統(tǒng),64位變量的讀取同樣不是一個原子操作,需要volidate保證原子性
2018-09-02
64位 會分成兩個32位執(zhí)行
2018-08-31
對于不加valatile的64位變量,JVM會分成兩次讀寫.
加了volatile一次完成.
2018-08-05
2018-07-18
修飾只是保證了一次讀寫,不會分成2次。
2017-08-14
加了volatile就會一次讀寫,不會分為兩次讀寫。跟volatile不能保證原子性沒有關(guān)系。
2017-08-12
我也有同樣的問題
2017-08-08
應(yīng)該是syn吧