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

复制代码
@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);
    }
}
相关推荐
梦在深巷、6 分钟前
linux系统防火墙之iptables
linux·运维·服务器
踏浪无痕28 分钟前
线上偶发 502 排查:用 Netty 成功复现 KeepAlive 时间窗口案例实战(附完整源码)
运维·网络协议
放学有种别跑、1 小时前
GIT使用指南
大数据·linux·git·elasticsearch
做人不要太理性2 小时前
【Linux系统】线程的同步与互斥:核心原理、锁机制与实战代码
linux·服务器·算法
x***44012 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
weixin_660096782 小时前
zsh中使用自动补全zsh-autosuggestions
linux·ubuntu·zsh·zshrc
Ghost Face...2 小时前
Linux音频控制神器:amixer完全指南
linux·chrome·音视频
大柏怎么被偷了2 小时前
【Linux】进程替换
linux·运维·服务器
EAIReport2 小时前
企业级报表自动化:基于Docker的部署实践
运维·docker·自动化
Xの哲學2 小时前
Linux 指针工作原理深入解析
linux·服务器·网络·架构·边缘计算