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

复制代码
@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);
    }
}
相关推荐
楼田莉子4 小时前
Linux网络:IP协议
linux·服务器·网络·c++·学习·tcp/ip
极客on之路4 小时前
线上 JVM 出问题
运维·服务器·jvm
wuminyu4 小时前
专家视角看JVM_StartThread
java·linux·c语言·jvm·c++
敲上瘾4 小时前
高并发内存池(三):PageCache(页缓存)的实现
linux·c++·缓存·高并发内存池·池化技术
HoneyMoose4 小时前
Subversion 取代 CVS 后的 2026
运维
Ops菜鸟(Xu JieHao)5 小时前
Linux 内网远程桌面Xrdp ~保姆级教程
linux·运维·服务器·windows·远程桌面·远程·xrdp
zjeweler5 小时前
linux服务器部署openclaw最新最细教程(非docker版)
linux·服务器·docker·openclaw
minglie15 小时前
zynq裸机和linux spidev操作W25Q16
linux
运维 小白5 小时前
2. vLLM多机单卡+open claw部署
运维·ai·vllm
无垠的广袤5 小时前
【“星睿O6”AI PC开发套件评测】基于 OpenClaw 的物体识别
linux·人工智能·opencv·摄像头·openclaw