欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-24 21:43:10
thread中,join()方法的作用是调用线程等待该线程完成后,才能继续用下运行。 public class testthread5 { public s...

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

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

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