課程
/后端開(kāi)發(fā)
/Java
/細(xì)說(shuō)Java多線程之內(nèi)存可見(jiàn)性
為什么兩個(gè)volatile變量在不變式中就會(huì)使得volatile線程不安全?
2017-02-08
源自:細(xì)說(shuō)Java多線程之內(nèi)存可見(jiàn)性 4-5
正在回答
volatile只能保證代碼的可見(jiàn)性,而不能保證代碼的原子性。所以,當(dāng)代碼包含其他共享變量時(shí),如果被其他線程執(zhí)行,那么值就會(huì)發(fā)生改變。
舉報(bào)
用兩種方式實(shí)現(xiàn)內(nèi)存可見(jiàn)性,代領(lǐng)大家深層次學(xué)習(xí)Java中的內(nèi)存
3 回答共享變量和volatile變量區(qū)別
9 回答不是說(shuō)volatile不保證原子性嗎?為什么對(duì)于64位類型的變量用volatile修飾?
1 回答加入有5個(gè)線程,某個(gè)變量在其中三個(gè)線程中有用到。這個(gè)變量算不算共享變量呢?
2 回答論靜態(tài)變量與 volatile和synchronized的區(qū)別
1 回答volatile 加不加線程都可以訪問(wèn)啊,這是為什么?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-02-10
volatile只能保證代碼的可見(jiàn)性,而不能保證代碼的原子性。所以,當(dāng)代碼包含其他共享變量時(shí),如果被其他線程執(zhí)行,那么值就會(huì)發(fā)生改變。