多线程-CompletableFuture
1.消息处理,需要完成两件事情
public boolean expend(Object body) {
AtomicBoolean flag = new AtomicBoolean(true);
// 第一件事
CompletableFuture<Void> f1 = CompletableFuture.runAsync(() -> {
doThingOne(body);
}, ThreadPool.pool).exceptionally((e) -> {
flag.set(false);
return null;
});
// 第二件事
CompletableFuture<Void> f2 = CompletableFuture.runAsync(() -> {
doThingTwo();
}, ThreadPool.pool).exceptionally((e) -> {
flag.set(false);
return null;
});
CompletableFuture.allOf(f1, f2).join();
return flag.get();
}

浙公网安备 33010602011771号