@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
相关推荐
~~李木子~~23 分钟前
Windows软件自动扫描与分类工具 - 技术文档QiTinna28 分钟前
系统运维Day02_数据同步服务阿猿收手吧!43 分钟前
【Linux网络】shutdown()与close()的区别LCG元1 小时前
Linux 磁盘管理从入门到精通:LVM 扩容实战案例liu****1 小时前
12.线程(二)咯哦哦哦哦1 小时前
vscode arm交叉编译 中 cmakeTools 编译器设置-指短琴长-1 小时前
Qt的下载和安装【Windows】梁正雄2 小时前
6、prometheus资源规划晨曦之旅2 小时前
零成本体验云计算!阿贝云免费服务器深度测评工具人55552 小时前
Linux 抓取 RAM Dump 完整指南