java-8 - 等待响应时何时选择使用 Actor Inbox 还是 Futures?

标签 java-8 akka

以前我使用 Java Future 对象和 Await.result从 Akka actor 获取响应。这使我能够在 Java 6 代码库和 Akka 之间建立一座桥梁。

缺点 : 在长时间运行的任务期间线程阻塞

我已经转向 Java 8 并且正在考虑使用非阻塞支持来替换 Await.Result带有回调。从理论上讲,这会很好地工作。然而,我注意到在 Java 8 的 Typesafe HelloAkka 教程的最新版本中,Akka Inbox 用于处理响应而不是 Future;

  • Inbox 是不是使用 Future 的首选选项?
  • Future(或 Completable Future)什么时候是更好的选择?
  • 最佳答案

    Stackoverflow 中的两个回复发布可能回答您问题的附加上下文。收件箱(据我所知)只是使用 future 和调用其他 Actor 的替代方法,相反,您可以允许其他 Actor 从外部询问您的收件箱( Actor 之类的对象)...请参阅 this .另外,看看杰米艾伦的“客串”模式。我在 this 上发布了一个粗略的例子Stackoverflow 帖子。

    关于java-8 - 等待响应时何时选择使用 Actor Inbox 还是 Futures?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30478925/

    相关文章:

    java - 使用 Collectors.groupingBy 创建复杂对象

    java - 返回 Java 8 中的通用功能接口(interface)

    scala - 如何声明对 native .so 库的依赖以进行测试?

    java - 将Akka与现有Java项目集成的示例

    scala - 在单独的库中使用 Akka

    scala - AKKA 可以在 Java 1.5 上运行吗?

    Java 8 List.sort 用法

    java - 升级Android项目以使用java 8并超出GC开销限制

    java8 - 使用 ChannelSftp 模式匹配选择最后修改的文件

    akka - 如何用虚拟时间测试 Akka Actor?