首页 > 其他分享 >CountDownLatch

CountDownLatch

时间:2022-10-19 15:33:45浏览次数:59  
标签:updateKsxxList oneBatch updateList CountDownLatch new size

// 批量修改
        if (CollectionUtils.isNotEmpty(updateKsxxList)) {
            int oneBatch = MagicNumber.ONE_HUNDRED;
            int times = updateKsxxList.size() % oneBatch == MagicNumber.ZERO ? (updateKsxxList.size() / oneBatch)
                    : ((updateKsxxList.size() / oneBatch) + 1);
            final CountDownLatch countDownLatch = new CountDownLatch(times);
            for (int i = MagicNumber.ZERO; i < times; i++) {
                List<Ksxx> updateList = new ArrayList<>();
                if (i == (times - 1)) {
                    updateList = updateKsxxList.subList(i * oneBatch, updateKsxxList.size());
                } else {
                    updateList = updateKsxxList.subList(i * oneBatch, (i + 1) * oneBatch);
                }
                List<Ksxx> finalUpdateList = updateList;
                new Thread(new Runnable() {
                    public void run() {
                        ksxxMapper.updateBatchAll(finalUpdateList);
                        countDownLatch.countDown();
                    }
                }).start();
            }
            try {
                countDownLatch.await();
            } catch (InterruptedException e) {
                log.error(e.getMessage());
            }
        }

标签:updateKsxxList,oneBatch,updateList,CountDownLatch,new,size
From: https://www.cnblogs.com/heavenTang/p/16806391.html

相关文章

  • 第二季:6CountDownLatch/CyclicBarrier/Semaphore使用过吗?【Java面试题】
    第二季:6CountDownLatch/CyclicBarrier/Semaphore使用过吗?【Java面试题】​​前言​​​​推荐​​​​6CountDownLatch/CyclicBarrier/Semaphore使用过吗?​​​​说明​​......
  • CountDownLatch-倒计时锁
    原理适合总分任务,这个锁主要适用情景,要求某些操作全部执行完成才能继续执行后面操作,这时候就可以适用cdl来计数,每次执行完一个操作就减一,计数为0后表示全部线程执行完毕。......
  • CountDownLatch在多线程统计另一个线程的动向
    CountDownLatch在CountDownLatch类里面有两个方法一个是await()字面意思是等待的一次,他和sleep()方法的区别就是sellp()会自己醒过来,而await()方法需要另一个方法来唤醒......
  • Java并发编程解析 | 基于JDK源码解析Java领域中并发锁之同步器Semaphore,CyclicBarrier
    苍穹之边,浩瀚之挚,眰恦之美;悟心悟性,善始善终,惟善惟道!——朝槿《朝槿兮年说》写在开头在并发编程领域,有两大核心问题:一个是互斥,即同一时刻只允许一个线程访问共享......
  • 深入理解JUC:第四章:CountDownLatch倒计时器
    理论:CountDownLatch是一个非常实用的多线程控制工具类。常用的就下面几个方法:CountDownLatch(intcount)//实例化一个倒计数器,count指定计数个数countDown()//计数......
  • CountDownLatch+ThreadPool 优化统计报表
    一、功能要求业务方要求每天发一个统计日报到用户邮箱、业务为统计每日的多项市场指标数据,因为数据表中数据量庞大,每项指标的SQL是单独的逻辑,所以要在一个接口内执行多个S......
  • CountDownLatch demo演示裁判和选手赛跑
    #CountDownLatchdemo演示裁判和选手赛跑packagecom.example.core.mydemo;importjava.util.concurrent.CountDownLatch;importjava.util.concurrent.ExecutorServ......
  • CountDownLatch demo演示数据分片多线程处理
    #CountDownLatchdemo演示数据分片多线程处理packagecom.example.core.mydemo;importorg.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;import......
  • CountDownLatch
    CountDownLatchCountDownLatch是一种通用的同步工具CountDownLatch内部的实现主要是依靠AQS的共享模式。当一个线程把CountDownLatch初始化了一个count之后,其他的线程......