java线程join
在Java中,join()方法是Thread类的一个方法,它允许一个线程等待另一个线程的完成。
当调用一个线程的join()方法时,当前线程将被阻塞,直到被调用的线程执行完毕。这意味着,如果一个线程A调用了另一个线程B的join()方法,那么线程A将会等待线程B执行完毕后再继续执行。
join()方法有两个重载版本:
- join():当前线程等待被调用线程执行完毕。
- 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()方法时进行异常处理
原文地址: https://www.cveoy.top/t/topic/hL7J 著作权归作者所有。请勿转载和采集!