0

看着文档和几个例子,我还是有点困惑。我想我了解了它的基本知识,但我对何时使用它们感到困惑。

我想我的主要问题..

  1. CompletionStage/CompletableFuture 都适用于异步代码吗?如果是这样,你为什么要使用一个而不是另一个?
  2. 如果 CompletionStage 可以用于非异步代码,为什么还要使用它呢?它与标准顺序代码有何不同?
  3. 他们甚至有什么不同?我看到您可以为 CompletionStage 和 CompletableFuture 调用异步方法。
  4. 您会在哪种情况下使用其中一种?
4

1 回答 1

2

CompletionStage是一个接口,(1) 可以由任意数量的类实现,(2) 没有指定详细的策略,例如异步操作的线程分配。

CompletableFuture是一个实现(和)的,并且确实提供了有关这些策略的更多详细信息。CompletionStageFuture

于 2020-11-27T21:05:47.673 回答