我见过的所有 Actor 系统实现(主要使用 Akka)都假定一个 Web 应用程序,这意味着一个 HTTP 接口可以很自然地由异步 Actor 系统提供服务。
但是,如果我正在编写一个桌面应用程序,或者一个库以用作独立于平台的应用程序的组件,该怎么办?
我希望客户端子例程能够调用val childObj = parentObject.createChild( initParam )
,而不必知道我允许的消息类型或一般的参与者系统。例如 Not parentObject ! CreateChild( initParam )
,然后处理在另一条消息中收到的响应。
我知道我可以将异步响应隐藏在 Futures 后面,但是还有其他已知的同步系统将计算移交给隐藏的参与者系统的模式吗?
(我意识到这将导致对库的阻塞调用。)