将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任务并行执行+线程池(二)内容请搜索靠谱客的其他文章。
发表评论 取消回复