Akka:当你告诉ActorRef会发生什么时,你会问?

Mik*_*ike 2 scala future actor akka

我有以下内容:

val future = myActor ? Message

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

sender ! Response

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

myActor ! Message

也许我只是遗漏了它在文档中所说的内容.它是否像返回值的方法一样,调用者不会将返回值赋给任何东西?如果我从另一个演员调用那个调用会导致一些奇怪的线程问题或内存泄漏吗?我的单元测试似乎没有受到影响,但它是一种人为的设计.我希望我只是过度思考这个问题,也许我找不到答案,因为这是一个愚蠢的问题,没有一个心智正常的人问道.

sen*_*nia 7

随着问题模式Response被临时轻量级演员(PromiseActorRef)接收.

如果myActor ! Message应该隐含ActorRef在范围内.Response将被发送到这个隐含的ActorRef.在您明确阅读之前,不会对此消息进行垃圾回收.

如果没有使用隐式ActorRef范围Actor.noSender,Response则会将其转发到系统的deadLetters.

如果您从另一个演员那里进行该调用,Response则会将其传递给另一个演员的消息框.