我是靠谱客的博主 留胡子手套,最近开发中收集的这篇文章主要介绍springboot任务并行执行+线程池(二),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

将Future用CompletableFuture替换

@PostMapping("/findInfo")
public Map<String, Object> findInfo() {
    Map<String, Object> map = new HashMap<>();
    CompletableFuture<List<User>> userFuture = CompletableFuture.supplyAsync(() -> {
        return userService.findUser("fc1fb15c04545");
    }, executorService).whenComplete((r, e) -> {  //如果要有返回值,将whenComplete变为handler
        if (null == e) {
            map.put("user", r);
        }
    });

    CompletableFuture<List<Dept>> deptFuture = CompletableFuture.supplyAsync(() -> {
        return deptService.findDept("b7ae417cfde038");
    }, executorService).whenComplete((r, e) -> {
        if (null == e) {
            map.put("dept", r);
        }
    });

    CompletableFuture<Company> companyFuture = CompletableFuture.supplyAsync(() -> {
        return companyService.findCompany("admin");
    }, executorService).whenComplete((r, e) -> {
        if (null == e) {
            map.put("company", r);
        }
    });

    //等待所有任务执行完成
    CompletableFuture.allOf(userFuture, deptFuture, companyFuture).join();
    return map;
}

最后

以上就是留胡子手套为你收集整理的springboot任务并行执行+线程池(二)的全部内容,希望文章能够帮你解决springboot任务并行执行+线程池(二)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部