在Java中,join()方法是Thread类的一个方法,它允许一个线程等待另一个线程的完成。

当调用一个线程的join()方法时,当前线程将被阻塞,直到被调用的线程执行完毕。这意味着,如果一个线程A调用了另一个线程B的join()方法,那么线程A将会等待线程B执行完毕后再继续执行。

join()方法有两个重载版本:

  1. join():当前线程等待被调用线程执行完毕。
  2. join(long millis):当前线程等待被调用线程执行完毕,最多等待millis毫秒。

下面是一个使用join()方法的示例代码:

public class JoinExample {
    public static void main(String[] args) {
        Thread thread1 = new Thread(new Runnable() {
            @Override
            public void run() {
                for (int i = 0; i < 5; i++) {
                    System.out.println("Thread 1: " + i);
                }
            }
        });

        Thread thread2 = new Thread(new Runnable() {
            @Override
            public void run() {
                for (int i = 0; i < 5; i++) {
                    System.out.println("Thread 2: " + i);
                }
            }
        });

        thread1.start();
        thread2.start();

        try {
            thread1.join(); // 等待thread1执行完毕
            thread2.join(); // 等待thread2执行完毕
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        System.out.println("Main thread finished.");
    }
}

在上面的示例中,我们创建了两个线程thread1和thread2,它们会并发执行。然后,我们使用join()方法使得主线程等待thread1和thread2执行完毕后再继续执行。

注意,join()方法可能会抛出InterruptedException异常,因此我们需要在调用join()方法时进行异常处理

java线程join

原文地址: https://www.cveoy.top/t/topic/hL7J 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录