基于多線程中join()的用法實例講解
更新時間:2017年10月13日 09:47:33 投稿:jingxian
下面小編就為大家?guī)硪黄诙嗑€程中join()的用法實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
Thread中,join()方法的作用是調(diào)用線程等待該線程完成后,才能繼續(xù)用下運行。
public class TestThread5 {
public static void main(String[] args) throws InterruptedException {
Runner0 run5 = new Runner0();
Thread th5 = new Thread(run5);
th5.start();
th5.join();//join()方法用在此處是為了等待主線程結(jié)束后運行子線程
for(int i=0;i<5;i++){
System.out.println("子線程:"+i);
}
}
}
class Runner0 implements Runnable{
public void run(){
for(int i=0;i<5;i++)
System.out.println("主線程:"+i);
}
}
上述代碼的運行結(jié)構(gòu)如下所示:

當然,如果不使用join()方法
public class TestThread6{
public static void main(String[] args) throws InterruptedException {
Runner0 run5 = new Runner0();
Thread th5 = new Thread(run5);
th5.start();
// th5.join();
for(int i=0;i<4;i++){
System.out.println("子線程:"+i);
}
}
}
class Runner0 implements Runnable{
public void run(){
for(int i=0;i<4;i++)
System.out.println("主線程:"+i);
}
}
如上代碼注釋掉jion()方法,

根據(jù)上面兩個不同的代碼,輸出的不同,很容易就能理解join()方法。
以上這篇基于多線程中join()的用法實例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java虛擬機調(diào)用Java主類的main()方法
這篇文章主要介紹了Java虛擬機調(diào)用Java主類的main()方法,前一篇文章我們介紹了關(guān)于Java虛擬機HotSpot2021-11-11
java使用PDFRenderer實現(xiàn)預覽PDF功能
這篇文章主要為大家詳細介紹了java使用PDFRenderer實現(xiàn)預覽PDF功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12
Spring動態(tài)管理定時任務之ThreadPoolTaskScheduler解讀
這篇文章主要介紹了Spring動態(tài)管理定時任務之ThreadPoolTaskScheduler解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
基于Java實現(xiàn)的一層簡單人工神經(jīng)網(wǎng)絡算法示例
這篇文章主要介紹了基于Java實現(xiàn)的一層簡單人工神經(jīng)網(wǎng)絡算法,結(jié)合實例形式分析了java實現(xiàn)人工神經(jīng)網(wǎng)絡的具體實現(xiàn)技巧,需要的朋友可以參考下2017-12-12

