Thread.join()方法是用來等待當前線程執行完畢后再繼續執行其他操作的方法。
在Java中,當一個線程調用另一個線程的join()方法時,該線程會被阻塞,直到被調用的線程執行完畢。換句話說,調用線程會等待被調用線程執行完畢后再繼續執行。
join()方法有兩種重載形式:
join():等待被調用線程執行完畢。
join(long millis):等待被調用線程執行完畢,最多等待millis毫秒。
以下是join()方法的使用示例:
Thread thread = new Thread(() -> {
try {
// 模擬線程執行時間
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("線程執行完畢");
});
thread.start();
try {
// 等待thread線程執行完畢
thread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("主線程執行完畢");
上述代碼中,主線程啟動了一個子線程thread,并調用thread.join()方法來等待子線程執行完畢。當子線程執行結束后,主線程才會繼續執行,輸出"主線程執行完畢"。