多线程返回计时问题代码案例

复制代码
@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);
    }
}
相关推荐
路由侠内网穿透1 小时前
本地部署开源持续集成和持续部署系统 Woodpecker CI 并实现外部访问
服务器·网络·windows·ci/cd·开源
程序猿小三1 小时前
Linux下基于关键词文件搜索
linux·运维·服务器
CsharpDev-奶豆哥2 小时前
ASP.NET中for和foreach使用指南
windows·microsoft·c#·asp.net·.net
虚拟指尖2 小时前
Ubuntu编译安装COLMAP【实测编译成功】
linux·运维·ubuntu
椎4953 小时前
苍穹外卖前端nginx错误之一解决
运维·前端·nginx
刘某的Cloud3 小时前
parted磁盘管理
linux·运维·系统·parted
啊?啊?3 小时前
4 解锁 Linux 操作新姿势:man、grep、tar ,创建用户及添加权限等 10 大实用命令详解
linux·服务器·实用指令
程序员老舅3 小时前
干货|腾讯 Linux C/C++ 后端开发岗面试
linux·c语言·c++·编程·大厂面试题
极验3 小时前
iPhone17实体卡槽消失?eSIM 普及下的安全挑战与应对
大数据·运维·安全
爱倒腾的老唐3 小时前
24、Linux 路由管理
linux·运维·网络