@Component
@Slf4j
@Async
public class ThreadSaveDigCategory {
private static final int BATCH_COUTN = 1000;
@Autowired
private Mapper mapper;
public Future<Boolean> saveDigCategoryDatas(List<DigCategoryData> digCategoryDataList){
//开始计时
long startTime = System.currentTimeMillis();
// mapper.saveDigCategoryData(digCategoryDataList);
//数据分批处理
List<List<DigCategoryData>> batchList = BathProcessUtil.batchList(digCategoryDataList, BATCH_COUTN);
for (List<DigCategoryData> batch : batchList){
mapper.saveDigCategoryData(batch);
}
//endTime
long endTime = System.currentTimeMillis();
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(endTime-startTime);
log.info("耗时: " + calendar.get(Calendar.MINUTE) + "分 " + calendar.get(Calendar.SECOND) + "秒 " +
calendar.get(Calendar.MILLISECOND) + " 微秒" + "-" + "数据保存成功");
return new AsyncResult<>(true);
}
}
多线程返回计时问题代码案例
928-y2023-11-09 13:43
相关推荐
梦在深巷、6 分钟前
linux系统防火墙之iptables踏浪无痕28 分钟前
线上偶发 502 排查:用 Netty 成功复现 KeepAlive 时间窗口案例实战(附完整源码)放学有种别跑、1 小时前
GIT使用指南做人不要太理性2 小时前
【Linux系统】线程的同步与互斥:核心原理、锁机制与实战代码x***44012 小时前
Windows操作系统部署Tomcat详细讲解weixin_660096782 小时前
zsh中使用自动补全zsh-autosuggestionsGhost Face...2 小时前
Linux音频控制神器:amixer完全指南大柏怎么被偷了2 小时前
【Linux】进程替换EAIReport2 小时前
企业级报表自动化:基于Docker的部署实践Xの哲學2 小时前
Linux 指针工作原理深入解析