基于多线程中join()的用法实例讲解

网友投稿 251 2023-03-26


基于多线程中join()的用法实例讲解

Thread中,join()方法的作用是调用线程等待该线程完成后,才能继续用下运行。

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()方法用在此处是为了等待主线程结束后运行子线程

for(int i=0;i<5;i++){

System.out.println("子线程:"+i);

}

}

}

class Runner0 implements Runnable{

publiClhMlc void run(){

for(int i=0;i<5;i++)

System.out.println("主线程:"+i);

}

}

上述代码的运行结构如下所示:

当然,如果不使用join()方法

public class TestThread6{

public static void main(String[] args) throws InterruptedException {

Runner0 run5 = new Runner0();

Thread th5 = new Thread(run5http://);

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()方法,

根据上面两个不同的代码,输出的不同,很容易就能理解join()方法。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:maven打包web项目时同时打包为war和jar文件的方法
下一篇:深入浅析 Spring Boot Starter
相关文章

 发表评论

暂时没有评论,来抢沙发吧~