@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
相关推荐
量子网络4 分钟前
debian 如何进入root时光の尘7 分钟前
C语言菜鸟入门·关键字·float以及double的用法我们的五年11 分钟前
【Linux课程学习】:进程描述---PCB(Process Control Block)运维老司机34 分钟前
Jenkins修改LOGO戎梓漩44 分钟前
windows下安装curl,并集成到visual studioD-海漠1 小时前
基础自动化系统的特点我言秋日胜春朝★1 小时前
【Linux】进程地址空间C-cat.1 小时前
Linux|环境变量yunfanleo2 小时前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点糖豆豆今天也要努力鸭2 小时前
torch.__version__的torch版本和conda list的torch版本不一致