CompletableFuture
JDK 8 中引入的与io.netty.util.concurrent.Future
Netty 提供的相比如何?
Netty 文档提到
JDK 8 添加了 CompletableFuture,它有些重叠
io.netty.util.concurrent.Future
http://netty.io/wiki/using-as-a-generic-library.html
我试图得到答案的问题是:
- 它们的相同点和不同点是什么?
- 两者的性能特征有何不同?哪一个能够更好地扩展?
关于相似之处/不同之处,我已经能够提出以下几点:
相似之处: 基本相似之处在于与 Java Future 相比,两者都是非阻塞的。这两个类都有可用于向未来添加侦听器、内省任务的失败和成功并从任务中获取结果的方法。
区别:
CompletableFuture
似乎有一个更丰富的接口,用于组合多个异步活动等。io.netty.util.concurrent.Future
另一方面,Netty 允许将多个侦听器添加到同一个 Future,此外还允许删除侦听器。