【问题标题】:When should a method return CompletableFuture?一个方法应该什么时候返回 CompletableFuture?
【发布时间】:2018-10-06 04:33:35
【问题描述】:

关于方法何时应返回 CompletableFuture 的一般准则是什么?假设有两个类 A 和 B,其中 B 类有一个方法 performTask(),它做了很多 IO,而 A 类调用了 performTask() 方法 在 Java 中,可以使用以下方法编写多线程代码:

  • 让方法的调用者决定是否使用线程池异步执行方法。在这种情况下,A 将异步调用 performTask() 方法,因此 B 类不需要使其方法异步。
  • 让 performTask() 方法返回 Future 或 CompletableFuture,以便 A 类简单地调用 performTask()。

关于哪种方法是推荐方法的一般准则是什么?

【问题讨论】:

    标签: java asynchronous java-8 future completable-future


    【解决方案1】:

    简短回答

    你决定。

    稍微长一点的答案

    这取决于:

    • 当您知道调用者通常不想等待 performTask() 完成时,请使方法同步。

    • 如果您知道调用者通常希望在调用 performTask() 后立即继续执行操作,并且要么不关心结果,要么稍后检查结果,请使方法异步。

    • 如果您不知道,请查看简短答案。

    【讨论】:

      猜你喜欢
      • 2012-01-08
      • 2020-07-16
      • 1970-01-01
      • 2019-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多