1.无返回值的 runAsync 异步回调 2.有返回值的 supplyAsync 异步回调 public class CompletableFuture_ { public static void main(String[] args) throws Exception { //没有返回值的异步回调 runAsync() CompletableFuturecompletableFuture1 = CompletableFuture.runAsync(() -> { System.out.println(Thread.currentThread().getName() + " runAsync => Void"); }); System.out.println("无返回值:" + completableFuture1.get()); //有返回值异步回调 supplyAsync CompletableFuture completableFuture2 = CompletableFuture.supplyAsync(() -> { System.out.println(Thread.currentThread().getName() + " supplyAsync => Integer"); //int i = 10 / 0; return 200; }); Integer result = completableFuture2.whenComplete((t, u) -> { System.out.println("t=>" + t); //返回结果 System.out.println("u=>" + u); //异常信息 }).exceptionally((e) -> { //异常回调 System.out.println("异常:" + e.getMessage()); return 404; }).get(); System.out.println("result=" + result); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)