Thread.join用法

Thread.join(): 用来让主线程等待子线程执行完毕再执行下面的操作。
顾名思义,join会让子线程加入MainThread.
 
适用场景:
主线程需要等子线程执行完毕后,再执行下一步操作。
比如:主线程需要统计子线程的执行时间,或需要统计子线程的执行结果等。
 
join() 的作用是等待该线程终止,即该线程存活的时候一直等待,等待线程死亡,好残忍 。。
JDK的源码 join()方法在线程isAlive()为true的时候一直轮询,直到变为die状态。
 
所以join()之后的代码在子线程未执行完之前,不会向下执行。
相当于主线程阻塞,等待子线程执行完后再执行主线程。
 
类似家长等待孩子放学,孩子没放学前一直在门口等待,放学后才带孩子回家。
 
和 CountDownLanch 类似,都可以让子线程执行完后再执行主线程。

猜你喜欢

转载自geeksun.iteye.com/blog/2368495
今日推荐