@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
相关推荐
Decay__11 小时前
VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)测试界的小码农11 小时前
【Linux 命令实战(06):Linux 文件权限管理,掌握 chmod、chown、chgrp】陈希12312 小时前
负载均衡与高可用:LVS、HAProxy、Keepalived 实战一条破秋裤13 小时前
【1114】【并发控制】【笔记】2035去旅行14 小时前
ADB的底层原理武子康14 小时前
单卡 A6000 跑 Qwen-Drive:怎样留下可比较的第一条基线?女神下凡14 小时前
芯参谋(107):杰理AC_中科蓝讯_开发指南落羽的落羽14 小时前
【C++】C++17的主要特性SQL7716 小时前
IT运维发展史,一部宏伟史诗Funlang16 小时前
在 Windows 95 上跑 Fun