CompletableFuture简介

1、CompletableFuture之Future为什么出现

CompletableFuture之Future为什么出现

2、Future接口能干什么

Future接口能干什么

3、引出FutureTask

FutureTask

FutureTask支持构造注入,支持多线程/Callable有返回/Future异步任务特性。

    public FutureTask(Callable<V> callable) {
        if (callable == null)
            throw new NullPointerException();
        this.callable = callable;
        this.state = NEW;       // ensure visibility of callable
    }

4、FutureTask案例

代码:

public class Main {

    public static void main(String[] arg) throws ExecutionException, InterruptedException {
        FutureTask<String> futureTask = new FutureTask<>(new myThread());
        Thread t1 = new Thread(futureTask, "t1");
        t1.start();
        System.out.println(futureTask.get());
    }
}

//Callable有返回
class myThread implements Callable<String> {

    @Override
    public String call() throws Exception {
        System.out.println("-----come in call()");
        return "hello Callable";
    }
}

执行结果:

-----come in call()
hello Callable

Process finished with exit code 0
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容