在多线程开辟的时辰有时辰我们常用 java.util.concurrent.Executors的线程池,多个线程异步执行的时辰,我们往往欠好判定是否线程池中所有的子线程都已经执行完毕,今天就跟着小编一路进修几种体例吧!
安装而且设置装备摆设好JDK开辟情况,打开eclipse开辟东西。
方案一:
利用 isTerminated() 方式去判定线程池中所有的子线程是否均执行完毕,具体看下图展示:
方案二:利用闭锁(CountDownLatch)来实现,CountDownLatch是一种矫捷的闭锁实现,它可以使一个或多个线程期待一组事务发生。具体看下图展示:
方案三:连系方案一和二可以发生了另一种优雅的实现,具体看以下代码:
以上方案各有利弊,运用时看你是基于什么方面的考虑。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!