服务器之家

服务器之家 > 正文

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

时间:2021-01-17 14:59     来源/作者:xiangpeng

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()的用法实例讲解

当然,如果不使用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()方法。

以上这篇基于多线程中join()的用法实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/xiangpeng/p/7656780.html

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
返回顶部