@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
相关推荐
朽棘不雕1 分钟前
动态库的理解Escalating_xu15 分钟前
【mmap 进程间通信】从共享内存到跨进程唤醒:用互斥锁、条件变量控制多个进程djjjx.22 分钟前
Linux工具篇 (三):make与Makefile数智化码农24 分钟前
半导体制造人力资源数字化选型:适配双用工体系,兼顾合规与人效xiaoye-duck32 分钟前
《Linux 网络编程》深入理解 TCP 协议(五):滑动窗口、丢包重传与流量控制详解昌原的儿子LEO35 分钟前
【单片机入门】UART 串行异步通信核心考点梳理挂科边缘36 分钟前
Android Studio 保姆级安装教程,Windows 电脑上安装 Android Studio团子股股东峥哥41 分钟前
day36-RHEL-管理基本存储Fcy64844 分钟前
Linux下 网络计算器小程序(socket封装、协议自定义、业务逻辑解耦)东城居士1 小时前
Linux驱动程序开发环境的快速搭建