基于多線程中join()的用法實(shí)例講解
Thread中,join()方法的作用是調(diào)用線程等待該線程完成后,才能繼續(xù)用下運(yùn)行。
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é)束后運(yùn)行子線程
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);
}
}
上述代碼的運(yùn)行結(jié)構(gòu)如下所示:

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

