Thread中,join()方法的作用是调用线程等待该线程完成后,才能继续用下运行。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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{ public void run(){ for(int i=0;i<5;i++) System.out.println("主线程:"+i); } } |
上述代码的运行结构如下所示:
当然,如果不使用join()方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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()方法,
根据上面两个不同的代码,输出的不同,很容易就能理解join()方法。
以上这篇基于多线程中join()的用法实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/xiangpeng/p/7656780.html