Thread.join()方法用于等待一個線程執行完成。它可以在一個線程中調用另一個線程的join()方法,使得當前線程等待被調用線程執行完成后再繼續執行。
以下是Thread.join()方法的使用示例:
public class ThreadJoinExample {
public static void main(String[] args) throws InterruptedException {
Thread thread1 = new Thread(() -> {
System.out.println("Thread 1 is running");
try {
Thread.sleep(2000); // 模擬線程1的執行時間
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Thread 1 is finished");
});
Thread thread2 = new Thread(() -> {
System.out.println("Thread 2 is running");
try {
Thread.sleep(3000); // 模擬線程2的執行時間
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Thread 2 is finished");
});
thread1.start();
thread2.start();
thread1.join(); // 等待線程1執行完成
thread2.join(); // 等待線程2執行完成
System.out.println("All threads are finished");
}
}
在上述示例中,我們創建了兩個線程(thread1和thread2),它們分別打印一些信息并休眠一段時間。在主線程中,我們依次調用thread1.join()和thread2.join()方法,從而等待這兩個線程執行完成。最后打印"All threads are finished"表示所有線程執行完成。
注意:join()方法會拋出InterruptedException異常,因此需要進行異常處理。