深入理解java虛擬機第三版(周志明老師) 第605頁

編譯工具是idea
問題:為啥在debug模式下,程式能正常結束,輸出 race的值,而在普通模式下一直執行while,相當于死回圈,Thread.activeCount()的值一直都是大于1,
uj5u.com熱心網友回復:
我看到你使用的執行緒,在debug模式下,因為每一個斷點都會暫停,這樣的話相當于是按一定的順序執行。然而正常運行時執行緒程式話執行順序是亂序的,這樣產生的資料和按一定順序執行產生的資料,結果會有不同
uj5u.com熱心網友回復:
斷點導致你的主執行緒sleep了,你的for回圈代碼全部都執行完了,所以可以退出后來的while回圈uj5u.com熱心網友回復:
1.我沒有在程式中打斷點,只是用debug啟動的,這樣是不是隱含的:程式按照代碼的先后順序執行,不知道我這樣理解對不?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/236706.html
標籤:Java SE
上一篇:求大神,幫忙解決問題
下一篇:springboot校驗問題
