課程
/后端開發(fā)
/Java
/細(xì)說Java多線程之內(nèi)存可見性
請(qǐng)問,在之前的講解中,volatile變量并不能保證原子性,
為何對(duì)64位變量通過加volatile關(guān)鍵字來保證原子操作呢?
2015-04-28
源自:細(xì)說Java多線程之內(nèi)存可見性 5-1
正在回答
volatile本身不保證獲取和設(shè)置操作的原子性,僅僅保持修改的可見性。但是java的內(nèi)存模型保證聲明為volatile的long和double變量的get和set操作是原子的
LittleMike 提問者
舉報(bào)
用兩種方式實(shí)現(xiàn)內(nèi)存可見性,代領(lǐng)大家深層次學(xué)習(xí)Java中的內(nèi)存
9 回答不是說volatile不保證原子性嗎?為什么對(duì)于64位類型的變量用volatile修飾?
1 回答最后總結(jié)中,為什么給long或double類型的變量加volatile關(guān)鍵字可以保證原子性?
3 回答共享變量和volatile變量區(qū)別
2 回答論靜態(tài)變量與 volatile和synchronized的區(qū)別
1 回答為什么兩個(gè)volatile變量在不變式中就會(huì)使得volatile線程不安全?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2015-05-16
volatile本身不保證獲取和設(shè)置操作的原子性,僅僅保持修改的可見性。但是java的內(nèi)存模型保證聲明為volatile的long和double變量的get和set操作是原子的