📚 分类
线程池
🕵🏽‍♀️ 问题描述
你们项目哪里用到了多线程
👨‍🏫 问题讲解
❒ CountDownLatch

CountDownLatch(闭锁/倒计时锁)用来进行线程同步协作,等待所有线程完成倒计时(一个或者多个线程,等待其他多个线程完成某件事情之后才能执行)

✔ 其中构造参数用来初始化等待计数值
✔ await() 用来等待计数归零
✔ countDown()用来让计数减一
🏳️‍🌈 问题总结
✔ 批量导入: 使用了线程池+CountDownLatch批量把数据库中的数据导入到了ES(任意)中,避免OOM
✔ 数据汇总: 调用多个接口来汇总数据,如果所有接口(或部分接口)的没有依赖关系,就可以使用线程池+future来提升性能
✔ 异步线程(线程池): 为了避免下一级方法影响上一级方法(性能考虑),可使用异步线程调用下一个方法(不需要下一级方法返回值),可以提升方法响应时间
📖 问题信息
📈 浏览次数:14 | 📅 更新时间:2025-12-14 13:32:04
📦 创建信息
🏷️ ID:121 | 📅 创建时间:2025-01-09 21:51:21