課程
/后端開發(fā)
/Java
/細(xì)說Java多線程之內(nèi)存可見性
之前老師說的,volatile變量在每次被線程訪問都會(huì)強(qiáng)迫從主內(nèi)存中重讀該變量的值嗎?這里為何不會(huì)重讀為6
2018-03-18
源自:細(xì)說Java多線程之內(nèi)存可見性 4-3
正在回答
A線程的工作變量里已經(jīng)讀過number=5,B線程改變以后number=6后,的確會(huì)強(qiáng)迫store到主內(nèi)存,但是這與A線程的工作變量無(wú)關(guān),A線程讀取的時(shí)候已經(jīng)load過了,不會(huì)主動(dòng)再load,所以number=5
舉報(bào)
用兩種方式實(shí)現(xiàn)內(nèi)存可見性,代領(lǐng)大家深層次學(xué)習(xí)Java中的內(nèi)存
2 回答volatile原子性
1 回答volatile不能保證原子性,解決方法
9 回答不是說volatile不保證原子性嗎?為什么對(duì)于64位類型的變量用volatile修飾?
1 回答原子性是什么意思?
2 回答關(guān)于long和double非原子性的解決辦法
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)
2018-03-19
A線程的工作變量里已經(jīng)讀過number=5,B線程改變以后number=6后,的確會(huì)強(qiáng)迫store到主內(nèi)存,但是這與A線程的工作變量無(wú)關(guān),A線程讀取的時(shí)候已經(jīng)load過了,不會(huì)主動(dòng)再load,所以number=5