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()方法来等待子线程执行完毕。当子线程执行结束后,主线程才会继续执行,输出"主线程执行完毕"。