java join()方法的参数含义是什么

avatar
作者
筋斗云
阅读量:0

join() 方法在 Java 中主要用于线程之间的协作。当一个线程调用另一个线程的 join() 方法时,调用 join() 方法的线程会被阻塞,直到被 join() 的线程执行完毕或者超过指定的等待时间。

join() 方法有两个版本:

  1. public final void join(long millis) throws InterruptedException

    这个版本的 join() 方法接受一个长整型参数 millis,表示等待的最长时间(以毫秒为单位)。如果在指定的时间内,被 join() 的线程还没有执行完毕,那么调用 join() 的线程会继续执行,不再等待。

  2. public final void join()

    这个版本的 join() 方法不接受任何参数,表示无限期地等待被 join() 的线程执行完毕。

示例:

class MyThread extends Thread {     @Override     public void run() {         System.out.println("子线程开始执行");         try {             Thread.sleep(2000); // 模拟子线程执行耗时操作         } catch (InterruptedException e) {             e.printStackTrace();         }         System.out.println("子线程执行完毕");     } }  public class Main {     public static void main(String[] args) {         MyThread myThread = new MyThread();         myThread.start(); // 启动子线程          try {             myThread.join(); // 主线程调用子线程的 join() 方法,主线程会等待子线程执行完毕         } catch (InterruptedException e) {             e.printStackTrace();         }          System.out.println("主线程继续执行");     } } 

输出结果:

子线程开始执行 主线程继续执行 子线程执行完毕 

在这个示例中,主线程调用了子线程的 join() 方法,因此主线程会等待子线程执行完毕后再继续执行。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!