課程
/后端開發(fā)
/Java
/深入淺出Java多線程
敢問這個程序是怎么結(jié)束的嗎?我看不到哪里是結(jié)束語句,按理說他是個無限循環(huán)的?。?!
2015-06-29
源自:深入淺出Java多線程 2-4
正在回答
個人理解為在Stage類的run()中
armyOfSuiDynasty.start(); armyOfRevolt.start();
之后的
try?{ ????Thread.sleep(50); }?catch?(InterruptedException?e)?{ ????e.printStackTrace(); }
這句代碼起到了作用,也就是說在兩軍交戰(zhàn)的50ms之內(nèi)stage線程處于休眠不會參與到對處理器的競爭中,而50ms的休眠時間過后,stage線程參與競爭處理器使用,將keepRunning設(shè)為false,結(jié)束軍隊的兩個線程。
不知理解的對不對,還請指正。
在單核機器中,可以那么理解,主線程休眠了,其他線程獲得資源運行。但是現(xiàn)在電腦都是多核。可以同時,不是以前基于單核分片執(zhí)行。Thread.sleep(100);就是當(dāng)前線程睡眠0.1秒,
Adsun
qq_老表_1
這個是線程休眠,等待0.1s后線程再執(zhí)行,如果遇見異常就拋出。
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
這個事件是控制主線程的嗎?也就是main這個線程,當(dāng)主線程休眠的時候,也就是其他線程運行的時間?想了很久,只能只能理解了,初學(xué)者,不知道對不對!?。??
舉報
帶你一起深入淺出多線程,掌握基礎(chǔ),展望進(jìn)階路線
2 回答子線程執(zhí)行結(jié)束之后才能main方法的結(jié)束舞臺輸出嗎?線程不應(yīng)該是搶占資源嗎?為什么沒加入join,程咬金最后執(zhí)行,其他線程也沒調(diào)用join但是在結(jié)束前執(zhí)行完畢
1 回答main線程結(jié)束,子線程為什么沒有退出?
2 回答是不是使用了join 之后,使用了join 的線程運行結(jié)束之后才能讓這個程序再次的運行下去。如果不是用join 那么這個線程在運行的時候和當(dāng)前方法中的運行關(guān)系不大。所以就提前輸出了戰(zhàn)斗結(jié)束。
4 回答這個程序總共生成了4個線程是不?
2 回答不知道什么時候結(jié)束的欸
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-11-15
個人理解為在Stage類的run()中
之后的
這句代碼起到了作用,也就是說在兩軍交戰(zhàn)的50ms之內(nèi)stage線程處于休眠不會參與到對處理器的競爭中,而50ms的休眠時間過后,stage線程參與競爭處理器使用,將keepRunning設(shè)為false,結(jié)束軍隊的兩個線程。
不知理解的對不對,還請指正。
2015-07-08
在單核機器中,可以那么理解,主線程休眠了,其他線程獲得資源運行。但是現(xiàn)在電腦都是多核。可以同時,不是以前基于單核分片執(zhí)行。Thread.sleep(100);就是當(dāng)前線程睡眠0.1秒,
2015-06-29
這個是線程休眠,等待0.1s后線程再執(zhí)行,如果遇見異常就拋出。
2015-06-29
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
這個事件是控制主線程的嗎?也就是main這個線程,當(dāng)主線程休眠的時候,也就是其他線程運行的時間?想了很久,只能只能理解了,初學(xué)者,不知道對不對!?。??