課程
/后端開發
/Java
/深入淺出Java多線程
join方法使其他線程都停止,也包括主線程嗎?
2018-04-23
源自:深入淺出Java多線程 2-5
正在回答
這篇文章說得很清楚了。
當前的線程阻塞,等待調用join()的線程執行。當前的線程可以是 “調用了join()的線程之外的任意線程”。
java中的Thread類的join
join是Thread的實例方法,官方解釋為:等待該線程終止。其作用就是將調用join的線程優先執行,當前正在執行的線程阻塞,直到調用join方法的線程執行完畢或者被打斷,主要用于線程之間的交互。還有兩個重載的方法:1、join(long?millis),等待該線程終止的時間最長為 millis 毫秒。為 0 意味著要一直等下去。2、join(long?millis, int?nanos),等待該線程終止的時間最長為 millis 毫秒 + nanos 納秒
join是Thread的實例方法,官方解釋為:等待該線程終止。
其作用就是將調用join的線程優先執行,當前正在執行的線程阻塞,直到調用join方法的線程執行完畢或者被打斷,主要用于線程之間的交互。
還有兩個重載的方法:
1、join(long?millis),等待該線程終止的時間最長為 millis 毫秒。為 0 意味著要一直等下去。
2、join(long?millis, int?nanos),等待該線程終止的時間最長為 millis 毫秒 + nanos 納秒
join不是讓所有線程都停止,join只是讓主線程停止。
看下面的代碼,如果把thread.sleep注釋掉,再運行,有一定概率程咬金打完都謝幕了,軍隊線程還在執行。
這說明join只是讓主線程停止,而不是讓所有線程都停止。這一點老師講的應該是有誤的。
qq_慕圣2566072
精慕門7595355
輸出結束語的就是主線程,所以也包括
是的,主線程把CPU控制權交出來給調用join()方法的線程。
舉報
帶你一起深入淺出多線程,掌握基礎,展望進階路線
1 回答線程的正確停止方法
1 回答線程的錯誤停止方法
1 回答停止線程鍵
2 回答線程的停止
1 回答線程停止問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-07-09
這篇文章說得很清楚了。
當前的線程阻塞,等待調用join()的線程執行。當前的線程可以是 “調用了join()的線程之外的任意線程”。
java中的Thread類的join
2019-04-24
join不是讓所有線程都停止,join只是讓主線程停止。
看下面的代碼,如果把thread.sleep注釋掉,再運行,有一定概率程咬金打完都謝幕了,軍隊線程還在執行。
這說明join只是讓主線程停止,而不是讓所有線程都停止。這一點老師講的應該是有誤的。
2018-06-27
輸出結束語的就是主線程,所以也包括
2018-04-23
是的,主線程把CPU控制權交出來給調用join()方法的線程。