当前位置: 首页 >Java技术 > Future 异步回调

Future 异步回调

异步调用

Future 异步回调 _ JavaClub全栈架构师技术笔记

Future 异步回调 _ JavaClub全栈架构师技术笔记

/*异步调用* ajax: 客户端服务器* future: java类CompletableFuture<T>* 1. 异步执行* 2. 成功回调* 3. 失败回调*/public class Demo01 {public static void main(String[] args) throws ExecutionException, InterruptedException {/* //发起一个请求  没有返回值的异步回调CompletableFuture<Void> completableFuture = CompletableFuture.runAsync(()->{try {TimeUnit.SECONDS.sleep(2);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName()+" runAsync=>Void");});System.out.println("1111"); //立刻输出Void aVoid = completableFuture.get();//获取执阻塞行结果  异步输出*///发起一个请求  有返回值的异步回调/** 失败时返回错误信息*/CompletableFuture<Integer> completableFuture = CompletableFuture.supplyAsync(() -> {  //  int i=10/0;  //故意制造错误信息System.out.println(Thread.currentThread().getName()+" runAsync=>Void");retu 1024;});System.out.println(completableFuture.whenComplete((t, u) -> {System.out.println("t->" + t);  //正常的返回结果System.out.println("u->" + u);}).exceptionally((e) -> {e.getMessage();retu 2333;}).get());}}//错误结果/*t->nullu->java.util.concurrent.CompletionException: java.lang.ArithmeticException: / by zero2333*///成功结果/*ForkJoinPool.commonPool-worker-9 runAsync=>Voidt->1024u->null1024*/

作者:一刹流云散
来源链接:https://www.cnblogs.com/Liuyunsan/p/15814381.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/java/117274.html

分享给朋友:

“Future 异步回调” 的相关文章