在Java中,Thread.join()
方法用于等待一個線程執行完畢后再繼續執行當前線程。這對于處理異步任務非常有用,因為它可以確保在執行后續代碼之前,異步任務已經完成。
以下是如何使用Thread.join()
處理異步任務的示例:
public class AsyncTaskExample {
public static void main(String[] args) {
// 創建一個線程任務
Thread asyncTaskThread = new Thread(() -> {
System.out.println("異步任務開始...");
try {
// 模擬異步任務執行耗時
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("異步任務結束...");
});
// 啟動異步任務線程
asyncTaskThread.start();
// 使用join方法等待異步任務線程執行完畢
try {
asyncTaskThread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
// 異步任務線程執行完畢后,執行后續代碼
System.out.println("異步任務已完成,繼續執行后續代碼...");
}
}
在這個示例中,我們創建了一個異步任務線程,該線程會打印出"異步任務開始…“,然后暫停3秒(模擬耗時操作),最后打印出"異步任務結束…”。在主線程中,我們使用asyncTaskThread.join()
方法等待異步任務線程執行完畢。當異步任務線程執行完畢后,主線程會繼續執行后續代碼,打印出"異步任務已完成,繼續執行后續代碼…"。