/**
* @author
* @date 2023/1/6 20:52
* CompletableFuture 同步调用与异步调用
*/
public class CompletableFutureDemo {
public static void main(String[] args) throws ExecutionException, InterruptedException {
//同步调用
CompletableFuture<Void> completableFuture1 = CompletableFuture.runAsync(()->{
System.out.println(Thread.currentThread().getName()+" completableFuture1");
});
completableFuture1.get();
//异步调用
CompletableFuture<Integer> completableFuture2 = CompletableFuture.supplyAsync(()->{
System.out.println(Thread.currentThread().getName()+" completableFuture2");
int i = 10/0;
return 1024;
});
completableFuture2.whenComplete((t,u)->{
//异步返回值
System.out.println("-----------t="+t);
//异步异常
System.out.println("-----------u="+u);
}).get();
}
}
多线程与锁(十九)之CompletableFuture 同步调用与异步调用
最新推荐文章于 2024-05-29 15:18:22 发布