亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

個人之見,請眾神指教

我在EnergySystem類中的將得到的能量值增加到目標能量盒中語句修改了一下:

System.out.println("======="?+?(energyBoxes[to]?+=?amount)?+?"=======");

用來驗證當前線程是否把前面的從源能量盒中得到的能量真的加到了目標能量盒中;

部分輸出如下:

http://img1.sycdn.imooc.com//58e65de10001069704720237.jpg

由上面的結果可以看出,在大部分線程的執行過程中,并沒有執行到將得到的能量值加到目標能量盒中時資源就被其他線程搶占了,然而下下一條循環中,有可能將得到的能量值加到目標能量盒中,并執行到計算當前的總能量,因此,經過大量的循環,總能量就減少,也就是講師所說的共享的數據被破壞。


正在回答

1 回答

能否發一下完整代碼,我按照你的描述測試完,總能量一直是不變的,轉移的能量也是在同步代碼當中進行,也真的加到了目標能量盒當中。不知道你的跳躍輸出是由于什么,睡眠時間的問題還是代碼的問題?

0 回復 有任何疑惑可以回復我~
#1

蔚然成麟er 提問者

這個代碼是在沒有加同步關鍵字時進行的
2017-04-11 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

個人之見,請眾神指教

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號