zoukankan      html  css  js  c++  java
  • Java CompletableFuture 类

    使用示例

    public class Test {
        public static void main(String[] args) throws Exception{
            CompletableFuture<Void> future=CompletableFuture.runAsync(new Runnable() {
                @Override
                public void run() {
                    try {
                        System.out.println(Thread.currentThread().getName()+"没有返回值的异步任务。");
                        TimeUnit.SECONDS.sleep(2);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            });
            future.get();
    
            CompletableFuture<String> future2=CompletableFuture.supplyAsync(new Supplier<String>(){
                @Override
                public String get() {
                    try {
                        System.out.println(Thread.currentThread().getName()+"有返回值的异步任务。");
                        TimeUnit.SECONDS.sleep(2);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    return "OK";
                }
            }).exceptionally(e -> {
                e.printStackTrace();
                return "出异常了!";
            }).whenComplete((t,u)->{
                System.out.println("成功了!");
            });
            String result=future2.get();
            System.out.println("结果:"+result);
        }
    }
    
    结果:
    ForkJoinPool.commonPool-worker-1没有返回值的异步任务。
    ForkJoinPool.commonPool-worker-1有返回值的异步任务。
    成功了!
    结果:OK
    
  • 相关阅读:
    四月书籍
    iOS 第三方登录之 QQ登录
    百度面试经验之谈 ----------转
    OC浅析一
    书目列表
    UIStroryboard分类
    ios基础笔记(一)
    IOS笔记-代码块(微博项目)-1.0
    IOS控件内容 对齐方式
    android同一个TextView设置不同颜色字体
  • 原文地址:https://www.cnblogs.com/feiqiangsheng/p/15339365.html
Copyright © 2011-2022 走看看