1.jdk提供的可异步获取任务运行结果的类FutureTask,实现了Runable和Future接口。可同时作为任务执行并获取任务的返回结果。
FutureTask uml图
线程池返回数据的实现原理:将任务包装为FutureTask,任务执行完之后返回结果。
详解Java中的Future、FutureTask的原理以及与线程池的搭配使用
2.jdk中的异步任务什么时候执行完并不知道,如果任务执行完之后能够自动回调listener,就能够更好的利用Future机制。主要就是在有异步任务执行结果的时候回调监听器,进行后续工作的处理。 Java并发编程之异步Future机制的原理和实现 Netty中的Promise就是类似的异步任务的结果。