課程
/后端開發(fā)
/Java
/細說Java多線程之內(nèi)存可見性
為什么CPU執(zhí)行時很快的刷新緩存,一般可以保證可見性?慢了就不行?
2015-12-02
源自:細說Java多線程之內(nèi)存可見性 5-1
正在回答
慢了不就不會刷新了。。。CPU運算快的話,在分配的時間片內(nèi)就能完成所有工作:工作內(nèi)從1->主內(nèi)存->工作內(nèi)存2,然后這個線程就釋放CPU時間片,這樣一來就保證了數(shù)據(jù)的可見性。如果是慢了話CPU強行剝奪該線的資源,分配給其它線程,該線程就需要等待CPU下次給該線程分配時間片,如果在這段時間內(nèi)有別的線程訪問共享變量,可見性就沒法保證了。
慕斯卡4106679 提問者
舉報
用兩種方式實現(xiàn)內(nèi)存可見性,代領(lǐng)大家深層次學(xué)習(xí)Java中的內(nèi)存
1 回答內(nèi)存可見性是什么意思?與共享變量可見性有什么關(guān)系?
3 回答為什么共享變量的可見性一定是private
4 回答ReentrantLock也能夠保證線程之間內(nèi)存的可見性嗎?
4 回答synchronized講的有問題呀!這樣做并不能實現(xiàn)可見性呀!不要誤人子弟呀
2 回答關(guān)于long和double非原子性的解決辦法
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)微信公眾號
2015-12-02
慢了不就不會刷新了。。。CPU運算快的話,在分配的時間片內(nèi)就能完成所有工作:工作內(nèi)從1->主內(nèi)存->工作內(nèi)存2,然后這個線程就釋放CPU時間片,這樣一來就保證了數(shù)據(jù)的可見性。如果是慢了話CPU強行剝奪該線的資源,分配給其它線程,該線程就需要等待CPU下次給該線程分配時間片,如果在這段時間內(nèi)有別的線程訪問共享變量,可見性就沒法保證了。