多线程处理任务

        //多线程处理
        try{
            boolean finalIsSelf = isSelf;
            List<String> finalAreaList = areaList;
            List<String> finalChildAreaList = childAreaList;
            List<String> finalGrandsonAreaList = grandsonAreaList;

            Callable a = ()->{return getXXSLData(dataList, condition.clone(), finalIsSelf, finalAreaList, finalChildAreaList, finalGrandsonAreaList);};
            Callable b = ()->{return getXXLAData(dataList, condition.clone(), finalIsSelf, finalAreaList, finalChildAreaList, finalGrandsonAreaList);};
            Callable c = ()->{return getSQCXData(dataList, condition.clone(), finalIsSelf, finalAreaList, finalChildAreaList, finalGrandsonAreaList);};
            Callable d = ()->{return getQSSCData(dataList, condition.clone(), finalIsSelf, finalAreaList);};
            Callable e;
            if (isSelf && condition.getAreaType().equals(Constant.LEVEL_PROVINCE)) {
                System.out.println("省检查看本院数据不用获取审查批复数据");
                map.put("scpfMap", null);
            } else {
                e = ()->{return getSCPFData(dataList, condition.clone(), finalIsSelf);};
                FutureTask<Map<String, Object>> fe = new FutureTask<Map<String, Object>>(e);
                new Thread(fe).start();
                map.put("scpfMap",fe.get());
            }

            Callable f = ()->{return getSSSJData(dataList, condition.clone(), finalIsSelf, finalAreaList);};
            Callable g = ()->{return getPollutioinData(dataList, condition.clone(), finalIsSelf);};

            FutureTask<Map<String, Object>> fa = new FutureTask<Map<String, Object>>(a);
            FutureTask<Map<String, Object>> fb = new FutureTask<Map<String, Object>>(b);
            FutureTask<Map<String, Object>> fc = new FutureTask<Map<String, Object>>(c);
            FutureTask<Map<String, Object>> fd = new FutureTask<Map<String, Object>>(d);
            FutureTask<Map<String, Object>> ff = new FutureTask<Map<String, Object>>(f);
            FutureTask<Map<String, Object>> fg = new FutureTask<Map<String, Object>>(g);

            new Thread(fa).start();
            new Thread(fb).start();
            new Thread(fc).start();
            new Thread(fd).start();
            new Thread(ff).start();
            new Thread(fg).start();

            map.put("xsslMap", fa.get());
            map.put("xxlaMap", fb.get());
            map.put("sqcxMap", fc.get());
            map.put("qsscMap", fd.get());
            map.put("yscpMap", ff.get());
            map.put("lyMap", fg.get());


        }catch (InterruptedException | ExecutionException ex) {
            ex.printStackTrace();
            log.error("分析报告多线程异常");
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值