在Java中,join()方法用于讓一個線程等待另一個線程完成其執行。當一個線程調用另一個線程的join()方法時,它會暫時掛起自己的執行,直到被調用的線程執行完成。
join()方法有兩種重載形式:
示例代碼:
Thread t1 = new Thread(() -> {
for (int i = 0; i < 5; i++) {
System.out.println("Thread 1: " + i);
}
});
Thread t2 = new Thread(() -> {
for (int i = 0; i < 5; i++) {
System.out.println("Thread 2: " + i);
}
});
t1.start();
t2.start();
try {
t1.join(); // 讓主線程等待t1執行完成
t2.join(); // 讓主線程等待t2執行完成
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("All threads have finished.");
在上面的示例中,主線程會等待t1和t2線程執行完成后才會輸出"All threads have finished."。