我是靠谱客的博主 乐观航空,最近开发中收集的这篇文章主要介绍十八、Future 异步回调,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  1. 没有返回值的异步回调

    public class CompletableFutureDemo {
        public static void main(String[] args) {
    
            //没有返回值的runAsync 异步回调
            CompletableFuture completableFuture =  CompletableFuture.runAsync(()->{
                try {
                    TimeUnit.SECONDS.sleep(2);
                    System.out.println("Future线程执行....");
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            });
    
            System.out.println("主线程执行.....");
    
            try {
                //获取异步结果
                System.out.println(completableFuture.get());    //get方法将阻塞
            } catch (InterruptedException e) {
                e.printStackTrace();
            } catch (ExecutionException e) {
                e.printStackTrace();
            }
        }
    }
    

    输出结果为

在这里插入图片描述

  1. 有返回值的异步回调

    public class CompletableFutureDemo {
        public static void main(String[] args) throws ExecutionException, InterruptedException {
    
            //有返回值的supplyAsync 异步回调
            CompletableFuture<Integer> completableFuture =  CompletableFuture.supplyAsync(()->{
                try {
                    TimeUnit.SECONDS.sleep(2);
                    //  int a = 10/ 0;          //异常测试
                    System.out.println("Future线程执行....");
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                return 1024;
            });
    
            System.out.println("主线程执行.....");
    
            System.out.println(completableFuture.whenComplete((t,u)->{
                System.out.println("t->" + t);		//输出正常结果
                System.out.println("u->" + u);		//输出异常信息
            }).exceptionally((e)->{
                System.out.println(e.getMessage());
                return 500;
            }).get());
        }
    }
    

    正常输出

    在这里插入图片描述

    异常输出

    在这里插入图片描述

最后

以上就是乐观航空为你收集整理的十八、Future 异步回调的全部内容,希望文章能够帮你解决十八、Future 异步回调所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部