Java中Thread类的join()方法

join 函数

join方法可确保当前线程等待,直到应该与之连接的线程终止。 该函数等待直到调用该函数的线程终止。

语法

final void join() throws InterruptedException

让我们看一个例子-

示例

public class Demo extends Thread{
   public void run(){
      System.out.println("sample ");
      try{
         Thread.sleep(10);
      }
      catch (InterruptedException ie){
      }
      System.out.println("only ");
   }
   public static void main(String[] args){
      Demo my_obj_1 = new Demo();
      Demo my_obj_2 = new Demo();
      my_obj_1.start();
      System.out.println("第一个对象已创建并启动");
      try{
         System.out.println("在try块中,已使用join函数调用了第一个对象");
         my_obj_1.join();
      }
      catch (InterruptedException ie){
      }
      System.out.println("第二个对象已启动");
      my_obj_2.start();
   }
}

输出结果

第一个对象已创建并启动
在try块中,已使用join函数调用了第一个对象
sample
only
第二个对象已启动
sample
only

名为Demo的类扩展了Thread类。这里定义了一个“run”函数,其中定义了try-catch块。这里,在try块中,调用sleep函数,catch块为空。在main函数中,创建了Demo对象的两个实例。声明第一个对象,并使用“join”函数调用它。第二个对象也是如此,消息也相应地显示出来。