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

 更新时间:2017年10月13日 09:47:33   投稿:jingxian  
下面小编就为大家带来一篇基于多线程中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{
    public 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(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()的用法实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java map.getOrDefault()方法的用法详解

    Java map.getOrDefault()方法的用法详解

    这篇文章主要介绍了Java map.getOrDefault()方法的用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Java判断绝对值的方法总结

    Java判断绝对值的方法总结

    在本文中作者为大家分享了两种Java判断绝对值的方法,对此有兴趣的朋友可以和小编一起学习下。
    2018-02-02
  • Mybatis-Plus同时使用逻辑删除和唯一索引的问题及解决办法(报数据重复Duplicate entry的问题)

    Mybatis-Plus同时使用逻辑删除和唯一索引的问题及解决办法(报数据重复Duplicate entry的

    在开发中,我们经常会有逻辑删除和唯一索引同时使用的情况,但当使用mybatis plus时,如果同时使用逻辑删除和唯一索引,会报数据重复Duplicate entry的问题,如何解决这个问题呢,小编给大家分享Mybatis-Plus同时使用逻辑删除和唯一索引的问题及解决办法,一起看看吧
    2023-11-11
  • 学习Java之如何对时间进行格式化

    学习Java之如何对时间进行格式化

    当我们在默认情况下构造出来的时间对象,它的时间格式并不适合我们阅读,并且在开发时,pc端、Android端、iOS端等展示的时间格式可能也并不完全一样,本文就从这几个问题给大家介绍如何对时间进行格式化,感兴趣的同学可以借鉴一下
    2023-05-05
  • 有关Java常见的误解小结(来看一看)

    有关Java常见的误解小结(来看一看)

    下面小编就为大家带来一篇有关Java常见的误解小结(来看一看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • JavaAgent实现http接口发布方式浅析

    JavaAgent实现http接口发布方式浅析

    这篇文章主要介绍了JavaAgent实现http接口发布方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-03-03
  • Java String对象使用方法详解

    Java String对象使用方法详解

    这篇文章主要介绍了Java String对象使用方法详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • Java深入数据结构理解掌握抽象类与接口

    Java深入数据结构理解掌握抽象类与接口

    在类中没有包含足够的信息来描绘一个具体的对象,这样的类称为抽象类,接口是Java中最重要的概念之一,它可以被理解为一种特殊的类,不同的是接口的成员没有执行体,是由全局常量和公共的抽象方法所组成,本文给大家介绍Java抽象类和接口,感兴趣的朋友一起看看吧
    2022-05-05
  • 将一个数组按照固定大小进行拆分成数组的方法

    将一个数组按照固定大小进行拆分成数组的方法

    下面小编就为大家带来一篇将一个数组按照固定大小进行拆分成数组的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 深入理解Java责任链模式实现灵活的请求处理流程

    深入理解Java责任链模式实现灵活的请求处理流程

    本文详细介绍了Java中的责任链模式,帮助您理解其工作原理,以及如何在代码中实现。该模式可以将请求沿着处理链路传递,实现灵活的请求处理流程。通过本文的学习,您将获得在Java应用程序中使用责任链模式的知识和技能
    2023-04-04

最新评论