【发布时间】:2015-12-17 04:10:08
【问题描述】:
我正在努力实现一种小型语言来将任务发送到执行并控制执行流程。在向我的系统发送任务后,用户会得到一个未来(它可以在其上调用阻塞 get() 或 flatMap() )。我的问题是:可以在 Akka 消息中发送期货吗?
示例:参与者 A 向参与者 B 发送消息 Response,并且 Response 在其字段中包含未来。然后在某个时候,A 将履行创造未来的承诺。 B收到Response后,可以随时调用flatMap()或get()。
我问是因为 Akka 消息应该是不可变的并且即使参与者在不同的 JVM 上也可以工作。如果演员 A 和 B 在不同的 JVM 上,我看不出上面的示例如何工作。另外,即使演员在同一个 JVM 上,我的示例是否有任何问题?
在接受的答案in this stackoverflow question 中做了类似的事情。如果参与者在不同的 JVM 上,这会起作用吗?
【问题讨论】:
标签: scala akka actor concurrent.futures