知识点详细说明
线程的合并(Join)是指一个线程等待另一个线程执行完成后,再继续执行。在Java中通过Thread.join()
方法实现,常用于主线程等待子线程结束或协调多个子线程的执行顺序。
1. join()
方法的作用
- 阻塞当前线程:调用
t.join()
的线程(如主线程)会进入等待状态,直到线程t
终止。 - 控制执行顺序:确保某一线程的任务完成后,再执行后续逻辑。
2. 核心方法
方法 | 作用 |
---|---|
void join() |
等待目标线程终止(无限期等待)。 |
void join(long millis) |
等待目标线程终止,但最多等待millis 毫秒(超时后继续执行)。 |
void join(long millis, int nanos) |
更精确的超时控制(纳秒级,实际很少使用)。 |
代码示例
示例1:主线程等待子线程
public class JoinDemo {
public static void main(String[] args) throws InterruptedException {
Thread childThread = new Thread(() -> {
System.out.println("子线程开始执行");
try {
Thread.