oracle官网解释
join
public final void join() throws InterruptedException
- Waits for this thread to die.
-
-
-
Throws:
-
InterruptedException
- if any thread has interrupted the current thread. The interrupted status of the current thread is cleared when this exception is thrown.
-
java Thread中, join() 方法主要是让调用该方法的thread完成run方法里面的东西后, 再执行join()方法后面的代码。
即主线程等待调用join方法的子线程执行结束后再继续执行。
示例:
t1启动后,调用join()方法,直到t1的计数任务结束,才轮到t2启动,然后t2也开始计数任务。可以看到,实例中,两个线程就按着严格的顺序来执行了。
如果t2的执行需要依赖于t1中的完整数据的时候,这种方法就可以很好的确保两个线程的同步性。