让演员在akka中问“自己”的正确方法是什么?

时间:2014-06-17 15:22:51

标签: scala akka actor self

我目前正在寻找一种将消息从一个演员发送到另一个演员的正确方法。 起初我试图问“自己”(自我),但很快我就明白这是不可能的。你无法向自己发送消息并等待响应,因为它仍处理“等待”过程。

现在我的问题:

问一个同类型演员的正确方法是什么?我应该创建一个临时演员,在我使用它之后将其销毁吗?如果是这样......命名怎么样(必须是唯一的)!? 有什么有用的模式吗?

提前致谢

1 个答案:

答案 0 :(得分:2)

演员绝对可以自问(即self ask)。你不能阻止未来(Await.result),但你不应该阻止期货。但是,这样做的理由很少。而不是向自己发送消息并获得响应,而是直接执行用于处理该消息的任何代码。

另外一点,ask模式实际上会创建一个临时actor并在不再需要它之后将其销毁。没有必要重新实现这一点。