0
点赞
收藏
分享

微信扫一扫

使用多线程分别请求,然后将结果聚合处理

爱动漫建模 2022-01-30 阅读 58
java
使用多线程分别请求,然后将结果聚合处理,提高效率,减少请求时间
            ExecutorService service = Executors.newSingleThreadExecutor();
            ExecutorCompletionService<List<CityRankInfo>> ece = new ExecutorCompletionService<>(service);
           ece.submit(() -> {
                return iHotelRankOutService.searchCityRankInfoByRankType(2, req.getTrackid());
            });
            ece.submit(() -> {
                return iHotelRankOutService.searchCityRankInfoByRankType(2, req.getTrackid());
            });
            ece.submit(() -> {
                return iHotelRankOutService.searchCityRankInfoByRankType(2, req.getTrackid());
            });
            Future<List<CityRankInfo>> take1 = ece.take();
            Future<List<CityRankInfo>> take2 = ece.take();
            Future<List<CityRankInfo>> take3 = ece.take();
            if (null != take1 || null != take2 || null != take3) {
                rankInfosList.addAll(take1.get());
                rankInfosList.addAll(take2.get());
                rankInfosList.addAll(take3.get());
            }
            //然后对rankInfoList进行处理即可
举报

相关推荐

0 条评论