在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()
方法等待异步任务线程执行完毕。当异步任务线程执行完毕后,主线程会继续执行后续代码,打印出"异步任务已完成,继续执行后续代码…"。