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