課程
/后端開發(fā)
/Java
/細說Java多線程之內存可見性
讀寫方法上面加了synchronized關鍵字,main方法里面代碼用一個for循環(huán)包裹起來循環(huán)20遍,還是有為0的結果。這樣的方法,實現(xiàn)原子性還是有問題的。
2019-03-01
源自:細說Java多線程之內存可見性 3-4
正在回答
根據(jù)你這個代碼應該是先執(zhí)行了下邊的讀方法,你在寫方法下面,sleep一段時間,應該可以解決這個問題
這個可能是指令重排序,讀取方法中先執(zhí)行了打印result,然后再對result賦值
你好,能否貼一下代碼
慕數(shù)據(jù)8406292 提問者
舉報
用兩種方式實現(xiàn)內存可見性,代領大家深層次學習Java中的內存
1 回答volatile不能保證原子性,解決方法
1 回答在write和方法上加synchronized不能保證結果一定是6
3 回答synchronized 原子性是如何保證線程的交叉執(zhí)行?
1 回答最后總結中,為什么給long或double類型的變量加volatile關鍵字可以保證原子性?
2 回答加synchronized關鍵字之后,執(zhí)行結果還是不確定
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2019-04-10
根據(jù)你這個代碼應該是先執(zhí)行了下邊的讀方法,你在寫方法下面,sleep一段時間,應該可以解決這個問題
2019-04-10
這個可能是指令重排序,讀取方法中先執(zhí)行了打印result,然后再對result賦值
2019-03-07
你好,能否貼一下代碼