課程
/后端開發
/Java
/細說Java多線程之內存可見性
為啥我運行好多次,結果都是6
2018-06-07
源自:細說Java多線程之內存可見性 3-2
正在回答
這個Dome告訴你 編譯時可能存在其它結果,導致數據不安全
public?static?void?main(String[]?args)?{ ????SynchronizedDemo?synchronizedDemo=new?SynchronizedDemo(); ???????synchronizedDemo.new?ReadWriteThread(true).start(); ???????synchronizedDemo.new?ReadWriteThread(false).start(); ??? }
public?static?void?main(String[]?args)?{ ????SynchronizedDemo?synchronizedDemo=new?SynchronizedDemo(); ????synchronizedDemo.new?ReadWriteThread(false).start(); ???????synchronizedDemo.new?ReadWriteThread(true).start(); ??? }
顛倒下模擬編譯時可能出現的情況就行啦
會不一樣的
我也是一直都是6
你代碼沒有跟老師寫的一樣的吧,檢查下代碼吧
舉報
用兩種方式實現內存可見性,代領大家深層次學習Java中的內存
1 回答為啥我的運行結果一直是6??
1 回答這個結果是單核還是多核,還是沒關系?
1 回答在write和方法上加synchronized不能保證結果一定是6
5 回答被synchronized修飾,依然出現兩種結果0和6,是我代碼寫得有問題?
4 回答運行了以后等了好久,500個線程也執行不完是為什么?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-09-17
這個Dome告訴你 編譯時可能存在其它結果,導致數據不安全
顛倒下模擬編譯時可能出現的情況就行啦
2019-03-15
會不一樣的
2018-07-27
我也是一直都是6
2018-06-08
你代碼沒有跟老師寫的一樣的吧,檢查下代碼吧