凡事都在事上磨,这样才能精进,成长进步提高! ------ 博客园首页

多线程任务新jdk8写法

List uniqueList = groupIds.stream().distinct().collect(Collectors.toList());
// 分组后的list
List<List<String>> groupedIdList = Lists.partition(uniqueList, 10);
List<CompletableFuture<ResultBody<List<TyGroupVo>>>> futureList =
    groupedIdList.stream().map(v -> CompletableFuture.supplyAsync(() -> {
        ApplicationContextHelper.setApplicationContextUser();
        return queryTyGroupList(v);
    }, ThreadPoolFactory.executor)).collect(Collectors.toList());
// 确保所有的任务完成
List<ResultBody<List<TyGroupVo>>> resultBeanList =
    futureList.stream().map(CompletableFuture::join).collect(Collectors.toList());
posted @ 2023-08-02 12:24  追风fc  阅读(71)  评论(0)    收藏  举报