2

我有以下内容:

val future = myActor ? Message

在我的演员中,我收到的消息是这样的:

sender ! Response

如果我执行以下操作并忽略响应,是否会产生负面影响?

myActor ! Message

也许我只是错过了文档中的说明。它是否像一个返回值的方法,而调用者没有将返回值分配给任何东西?如果我从另一个演员那里拨打电话,是否会出现一些奇怪的线程问题或由此导致的内存泄漏?我的单元测试似乎没有受到影响,但这有点做作。我希望我只是过度思考这个问题,也许我找不到答案,因为这是一个他们头脑正常的人都不会问的愚蠢问题。

4

1 回答 1

7

Response临时轻量级参与者( )接收请求模式PromiseActorRef

万一myActor ! Message应该ActorRef在范围内隐含。Response将被发送到这个隐含ActorRef的。除非您明确阅读此消息,否则不会对其进行垃圾收集。

如果没有使用ActorRef范围内的隐式,则将被转发到系统的 deadLetters。Actor.noSenderResponse

如果您从另一个参与者发出该调用,这Response将被传递到该另一个参与者的消息框。

于 2013-08-07T04:09:35.947 回答