刘备、关羽和张飞三兄弟在家吧喝酒,突然发现忘带钱了,于是差下人回去取钱。
为了不影响三兄弟喝酒的气氛,刘备吩咐下人钱取来后交给旁边侍候的赵云即可。
public static void main(String[] args) throws ExecutionException, InterruptedException {
System.out.println("吩咐下人去取钱!");
CompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("下人:回去取钱......");
return 9999; // 取了一百块钱
});
System.out.println("将此事授权给赵云处理!");
future.thenAccept((money)->{
System.out.println("赵云:收到下人取来的"+money+"块钱....");
});
System.out.println("\n刘关张:继续喝酒......\n");
Thread.sleep(5000); // 主线程不要立刻结束,否则CompletableFuture默认使用的线程池会立刻关闭
}
从运行结果可以看到:吩咐下人去做事后,桃园三兄弟并没有等待下人的做事结果(不阻塞),而是继续喝酒作乐!