阅读量:0
在Java中,join()
方法是Thread
类的一个方法,它的主要作用是让当前执行线程等待另一个线程完成后再继续执行。
当你调用一个线程的join()
方法时,当前线程会被阻塞,直到被调用join()
方法的线程执行完毕。这样可以确保在继续执行当前线程之前,另一个线程已经完成了它的任务。
例如,假设你有两个线程A和B,你希望线程A在线程B完成后再开始执行。你可以在线程A的代码中调用线程B的join()
方法来实现这个目的:
public class ThreadExample { public static void main(String[] args) throws InterruptedException { Thread threadB = new Thread(() -> { System.out.println("Thread B started"); try { Thread.sleep(2000); // 模拟线程B需要执行一些操作 } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("Thread B finished"); }); Thread threadA = new Thread(() -> { System.out.println("Thread A started"); try { threadB.join(); // 等待线程B完成 } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("Thread A finished"); }); threadB.start(); threadA.start(); } }
在这个例子中,线程A会等待线程B完成后再开始执行。输出结果将会是:
Thread B started Thread B finished Thread A started Thread A finished
请注意,join()
方法可能会抛出InterruptedException
异常,因此需要使用try-catch语句处理这个异常。