概述
将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任务并行执行+线程池(二)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复