Java等待异步线程池跑完再执行指定方法的三种方式(condition、CountDownLatch、CyclicBarrier)
warning:
这篇文章距离上次修改已过247天,其中的内容可能已经有所变动。
这里提供的解决方案是使用Java并发库中的CountDownLatch
类。这是一个同步工具类,可以使一个或多个线程等待一系列指定数量的操作完成。
以下是使用CountDownLatch
的示例代码:
在这个例子中,我们创建了一个有10个线程的线程池。使用CountDownLatch
的实例latch
来跟踪还有多少个线程任务正在执行。每当一个任务完成时,它就会调用countDown
方法,这就减少计数。主线程调用latch.await()
方法等待计数器变为0,也就是等待所有线程任务完成。当所有任务完成后,主线程继续执行,并关闭线程池。
评论已关闭