java 调用 jion 的方法
见https://www.zhihu.com/people/calabash-man
Java中线程的 join() 方法用于让当前线程等待调用该方法的线程执行完毕后再继续执行。它是一个阻塞方法,调用该方法的线程会一直阻塞,直到被等待的线程执行完毕后才会继续执行。 join() 方法有两个重载形式:
-
join():等待被等待线程执行完毕。 -
join(long millis):等待被等待线程执行完毕,或者等待一段时间之后继续执行。millis参数指定等待时间,单位为毫秒。
例如,假设有一个线程 thread ,如果需要让当前线程等待 thread 线程执行完毕后再继续执行,可以使用 join() 方法,示例代码如下:
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// 线程执行的任务
}
});
// 启动线程
thread.start();
try {
// 等待线程执行完毕
thread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
// 当线程执行完毕后,继续执行下面的代码
在上面的示例中,线程 thread 执行完毕后,当前线程才会继续执行下面的代码。如果线程 thread 执行时间很长,可以使用 join(long millis) 方法等待一段时间之后继续执行,例如:
try {
// 等待线程执行 1000 毫秒
thread.join(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
这样,如果线程 thread 在等待时间内执行完毕,当前线程会立即继续执行下面的代码;如果线程 thread 在等待时间内没有执行完毕,当前线程也会继续执行下面的代码。
join()方法使得当前线程等待指定线程执行完毕后继续,有无参数版本。无参数版等待至线程结束,带参数版可设置超时时间。如果在等待时间内线程未结束,当前线程将恢复执行。
213

被折叠的 条评论
为什么被折叠?



