JDK 8中引入的CompletableFuture与Netty提供的io.netty.util.concurrent.Future相比如何?
Netty文档提到
JDK 8添加了CompletableFuture,这与
io.netty.util.concurrent.Futurehttp://netty.io/wiki/using-as-a-generic-library.html有些重叠。
我想问的问题是:
关于这些相似之处,我想出了以下几点:
Similarities:的基本相似之处在于,与Java相比,两者都是非阻塞的。这两个类都有可用于将侦听器添加到未来、内省失败和任务成功并从任务中获得结果的方法。
Differences: CompletableFuture似乎有一个更丰富的接口,用于编写多个异步活动等。另一方面,Netty的io.netty.util.concurrent.Future允许将多个侦听器添加到同一个未来,而且允许删除侦听器。
发布于 2017-04-11 19:22:34
如果我们看整个段落(特别是第一句)
Java有时通过采用包含Netty提供的结构的思想来推进。例如,JDK 8添加了CompletableFuture,这与io.netty.util.concurrent.Future有些重叠。在这种情况下,Netty的构造为您提供了一个很好的迁移路径;我们将在考虑到未来迁移的情况下努力更新API。
它的基本意思是,netty Future和CompletableFuture是相同的概念,但在不同的时间由不同的人实现。
Netty创造了他们的未来,因为在java中没有可用的,而且他们也不想把它作为依赖于Guice之类的东西。但是现在,java已经创建了一个,并且可以使用它。
在这一段的末尾,他们基本上是说netty将来可能会用Future取代CompletableFuture。
就相似性/不同点而言,它们都只是未来/承诺模式的许多实现之一。在使用netty和netty特定内容时使用netty,否则使用CompletableFuture。
https://stackoverflow.com/questions/34126688
复制相似问题