CountDownLatch countDownLatch = new CountDownLatch(20);
//线程池的创建方式推荐使用ThreadPoolExecutor,这也是阿里官方推荐的方式,这样可以避免线程过多导致内存占用一直增加的问题
ExecutorService threadPool = new ThreadPoolExecutor(
20,
20,
1,
TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>());
threadPool.submit(() -> {
try {
//后续在此处进行业务处理
} finally {
countDownLatch.countDown();
}
});
//关闭线程处理
try {
countDownLatch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
//关闭线程池
threadPool.shutdown();
CountDownLatch允许一个或者多个线程去等待其他线程完成操作。
CountDownLatch接收一个int型参数,表示要等待的工作线程的个数。
本文介绍了如何在Java中使用CountDownLatch实现线程同步,通过实例演示了CountDownLatch的用法,重点在于理解其作为工作线程等待计数器的角色,确保任务按顺序执行并等待所有子线程完成。
1079

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



