thread的join方法
时间: 2023-09-05 18:10:03 浏览: 44
join方法是Thread类提供的一个方法,它用来等待该线程结束。当一个线程调用另一个线程的join()方法时,调用线程会被阻塞,直到被调用线程执行完毕后才会继续执行。
join方法有两种重载形式:
1. public final void join() throws InterruptedException:等待该线程结束。如果线程被中断,抛出InterruptedException异常。
2. public final void join(long millis) throws InterruptedException:等待该线程结束最多millis毫秒。如果线程在超时前结束,返回true;如果线程在超时前未结束,则返回false。如果线程被中断,抛出InterruptedException异常。
示例代码:
```
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// 线程执行的代码
}
});
thread.start();
try {
thread.join(); // 等待线程结束
} catch (InterruptedException e) {
e.printStackTrace();
}
```
上述代码中,创建了一个新的线程,并调用start方法启动该线程。然后在主线程中调用thread.join()方法等待该线程结束。如果该线程在超时前结束,则主线程会继续执行;如果该线程在超时前未结束,则主线程会被阻塞,直到该线程执行完毕。如果该线程被中断,则会抛出InterruptedException异常。