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