課程
/后端開發
/Java
/深入淺出Java多線程
老師您好,我去掉了舞臺中軍隊停止等待程咬金join的方法,運行以后發現只有主線程停止執行,其它的子線程會繼續執行,是不是join方法只會阻塞主線程的執行而不會影響其它子線程的執行呢?
2015-04-05
源自:深入淺出Java多線程 2-5
正在回答
你的理解很對:當某個線程使用join()方法加入到另一個線程時,另一個線程會等待該線程執行完畢后再繼續執行。
程咬金線程通過join()方法加入到舞臺線程,所以只有舞臺線程會等待。隋軍和農民軍線程的結束,是在舞臺線程中加入armyTaskOfSuiDynasty.keepRunning = false;??armyTaskOfRevolt.keepRunning = false;然后舞臺線程又sleep(2000),讓隋軍和農民軍線程結束最后一輪(while()循環),讓程咬金線程獨自執行。
窗外有個藍藍天 提問者
這樣分清當前線程。當前軍隊線程正在執行,在舞臺里面通過軍隊線程上調用join就是講舞臺阻塞,等待軍隊完成。
一下是Oracle的文檔說明,你可以體會一下。
Joins
The?join?method allows one thread to wait for the completion of another. If?t?is a?Thread?object whose thread is currently executing,
t.join();
causes the current thread to pause execution until?t's thread terminates.?
hongchun
舉報
帶你一起深入淺出多線程,掌握基礎,展望進階路線
1 回答關于線程的join()方法
4 回答join方法使其他線程都停止,也包括主線程嗎?
2 回答為什么加入join就能讓stage線程早點結束?
2 回答為毛程咬金的線程需要join才能正確執行,但隋軍和農民起義軍不需要join?
2 回答看了java中深入淺出多線程的課程,有一個關于join()函數的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-08-02
你的理解很對:當某個線程使用join()方法加入到另一個線程時,另一個線程會等待該線程執行完畢后再繼續執行。
程咬金線程通過join()方法加入到舞臺線程,所以只有舞臺線程會等待。隋軍和農民軍線程的結束,是在舞臺線程中加入armyTaskOfSuiDynasty.keepRunning = false;??armyTaskOfRevolt.keepRunning = false;然后舞臺線程又sleep(2000),讓隋軍和農民軍線程結束最后一輪(while()循環),讓程咬金線程獨自執行。
2015-04-08
這樣分清當前線程。當前軍隊線程正在執行,在舞臺里面通過軍隊線程上調用join就是講舞臺阻塞,等待軍隊完成。
一下是Oracle的文檔說明,你可以體會一下。
Joins
The?join?method allows one thread to wait for the completion of another. If?t?is a?Thread?object whose thread is currently executing,
t.join();
causes the current thread to pause execution until?t's thread terminates.?