美文网首页
CompletableFuture 的小demo

CompletableFuture 的小demo

作者: 简书徐小耳 | 来源:发表于2019-01-25 13:44 被阅读11次
      CompletableFuture completableFuture = new CompletableFuture();
            System.out.println("当前线程" + Thread.currentThread().getName());
            CompletableFuture<Object> completableFuture1 = completableFuture.whenComplete((resout, excep) -> {
    
                System.out.println("异步回调的线程" + Thread.currentThread().getName());
    
            }).thenCompose((lastCompleteFutureResult) -> {
                System.out.println(3213);
                CompletableFuture c = new CompletableFuture();
                return 2;
            });
            completableFuture.complete("3321");
            completableFuture.complete(new RuntimeException());
            completableFuture1.complete(5);
            System.out.println("第二个compeleteFutrue" + completableFuture1.get());
            System.out.println("执行结束");
    
        CompletableFuture简单教学
        
        1.whenComplete代表我们设置了completableFuture的complete方法(每次只能传递结果或者异常)
        2.如果还设置了thenCompose,其会等上一个future结束,然后还能获取到上一个结果进行处理,这边有一个注意的地方就是我门使用complete 最终会执行thenCompose
        而如果我们是设置的completeExceptionally则不会执行
        3.如果我们结果是exception 我们get的时候会抛出异常
        4.whenCompleteAsyn 还可以异步回调,即不是使用我们执行线程回调,也可以指定特定的执行器回调
                5.      completableFuture.cancel(true); 也是类似complete方法只是传递异常

    相关文章

      网友评论

          本文标题:CompletableFuture 的小demo

          本文链接:https://www.haomeiwen.com/subject/ppmmjqtx.html