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