課程
/后端開發(fā)
/Java
/深入淺出Java多線程
為什么run方法中改成sleep就導(dǎo)致中斷狀態(tài)有問題,而main方法中的sleep調(diào)用卻沒問題
2016-10-25
源自:深入淺出Java多線程 3-3
正在回答
main方法也是一個線程,但是有沒有其他線程對main方法的線程執(zhí)行了中斷命令。沒有,所以sleep沒問題
run方法也是個線程,sleep也沒問題,但是sleep方法在執(zhí)行期間不能被中斷,中斷就給你拋異常。你不去動中斷標(biāo)志也沒事。但是你在mian方法執(zhí)行時候做了run方法所在線程的中斷命令,這就是觸雷了。。。你完全可以在sleep的try...catch里面this.interrupt();一下,再中斷一次也是沒問題的
bbug
明白了。Thread指代main方法這個主線程,thread指代分支線程。主線程運(yùn)行的sleep是沒遇到中斷執(zhí)行完畢的,而分支有sleep遇到了中斷命令
舉報
帶你一起深入淺出多線程,掌握基礎(chǔ),展望進(jìn)階路線
3 回答關(guān)于sleep();
5 回答interrupt并不能中斷線程那它為啥叫interrupt啊
4 回答sleep()
5 回答sleep的問題
2 回答sleep問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-01-06
main方法也是一個線程,但是有沒有其他線程對main方法的線程執(zhí)行了中斷命令。沒有,所以sleep沒問題
run方法也是個線程,sleep也沒問題,但是sleep方法在執(zhí)行期間不能被中斷,中斷就給你拋異常。你不去動中斷標(biāo)志也沒事。但是你在mian方法執(zhí)行時候做了run方法所在線程的中斷命令,這就是觸雷了。。。你完全可以在sleep的try...catch里面this.interrupt();一下,再中斷一次也是沒問題的
2016-10-25
明白了。Thread指代main方法這個主線程,thread指代分支線程。主線程運(yùn)行的sleep是沒遇到中斷執(zhí)行完畢的,而分支有sleep遇到了中斷命令