java多线程的使用

场景1 多线程处理列表

定义线程池

    private static final ExecutorService executorService = Executors.newFixedThreadPool(15); // 创建一个固定大小为15的线程池

使用

        List<IkmDatasetAddKnowledgeVO> ikmKbaseKnowledgeVOS = new ArrayList<>();
        IkmDatasetTaskAddVO ikmDatasetTaskVO = addTask(queryVO[0]);
        getTaskList(ikmDatasetTaskVO, ikmKbaseKnowledgeVOS);
        if (ikmDatasetTaskVO != null && ikmDatasetTaskVO.getTotalPage() >1) {
            CountDownLatch countDownLatch = new CountDownLatch(ikmDatasetTaskVO.getTotalPage()-1);
            for (int i = 1; i <ikmDatasetTaskVO.getTotalPage(); i++) {
                int finalI = i;
                executorService.submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            IkmDatasetTaskFilesQueryVO finalQuery=new IkmDatasetTaskFilesQueryVO();
                            finalQuery.setPage(finalI);
                            finalQuery.setTaskId(queryVO[0].getTaskId());
                            finalQuery.setTaskGroupId(queryVO[0].getTaskGroupId());
                            IkmDatasetTaskAddVO ikmDatasetTaskVO = addTask(finalQuery);
                            getTaskList(ikmDatasetTaskVO, ikmKbaseKnowledgeVOS);
                        } catch (Exception ex) {
                            log.error("获取任务信息异常", ex);
                        } finally {
                            countDownLatch.countDown();
                        }
                    }
                });
            }
            countDownLatch.await();
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值