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

复制代码
@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);
    }
}
相关推荐
Face11 小时前
WSL2 初始使用
linux·windows
蜜蜜不吃糖11 小时前
ipmitools获取windows带外信息并修改密码
运维·服务器
晨晖211 小时前
Linux命令10
linux·运维·服务器
光电笑映12 小时前
深入理解 ELF:从目标文件到程序加载的全过程
linux·运维·服务器·c++
AI行业学习12 小时前
CC-Switch 下载、安装与使用全指南Windows+macOS+Linux【2026.5.28】
linux·windows·macos
WXDcsdn12 小时前
新安装的Debian 12系统开启root用户和ssh登录权限
运维·debian·ssh
SWAGGY..12 小时前
Linux系统编程:(十)进程概念
linux
Agent手记12 小时前
传统工厂的工单自动排程如何用AI解决?从大模型推理到端到端自动化的闭环实战
运维·人工智能·ai·自动化
code_li12 小时前
Netlify全栈开发:零运维部署实战
运维·服务器·部署
宇文仲竹12 小时前
windows 反馈中心 100M+ 每秒的磁盘读写
windows