在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."。