Re: [問題] SCJP 多執行緒問題

看板java作者 ( This can't do that. )時間10年前 (2013/08/29 23:47), 編輯推噓2(202)
留言4則, 4人參與, 最新討論串3/3 (看更多)
: : 6. for(int i=0; i<4; i++){ : : 7. current = x; : : 8. System.out.print(current + ", "); : : 9. x = current + 2; : : 10. } : : 可是 A 最後一個輸出卻是 6 : : 用eclipse 測試這個 code 也確實輸出會有遞增後又減少的情形 : : 我想應該是我誤解程式執行的流程 : : 想請問版上高手我錯誤的點在哪??? 第一次要修正色碼太難搞,砍掉重發 結果PO完才發現沒看到for條件,再砍掉 所以這篇是第三篇,留下兩篇屍體(快GC阿!!!!! 板主大人對不起 (眼神死 這篇應該對了吧! A好死不死在B把x變成6之前進來,所以拿到4,放到current ↓A印出4,把x覆寫回4+2,並陸續弄出6 8 10跑完四輪 0, 2, 4, 4, 6, 8, 10, 6, ↑B這時才做+2, x=6 ↑B突然醒來,印出current 6,把x+2(=8) B第三輪的印出(4) (但沒機會印x惹QQ) ↑B第四輪第一步,current=6 然後呆死 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.167.126.86

08/30 00:23, , 1F
其實你可以修文
08/30 00:23, 1F

08/30 00:25, , 2F
沒關係,剛好符合這個月份的主題 [咦咦]
08/30 00:25, 2F

08/30 01:03, , 3F
感謝!! 好鮮豔!!!
08/30 01:03, 3F

09/03 09:30, , 4F
這個執行緒的關鍵就在於到底是誰搶到資源執行吧
09/03 09:30, 4F
文章代碼(AID): #1I7sqKy3 (java)
文章代碼(AID): #1I7sqKy3 (java)