3

我有一个很简单的问题,但是我在网上没有找到任何东西(可能我不知道如何搜索它)。

如果我部署了一个演员(actorSystem.actorOf ...)并立即向它发送一条消息,如果尚未部署该演员,那么消息将被排入“特殊”队列还是将消息发送到 DeadLetters ?

4

1 回答 1

5

查看邮箱文档的底部。您的猜测是正确的,邮件存储在一个特殊的队列中,直到邮箱准备好。

为了使 system.actorOf 在保持返回类型 ActorRef 的同时保持同步和非阻塞(以及返回的 ref 是全功能的语义),对这种情况进行了特殊处理。在幕后,构造了一种空心的actor引用,它被发送给系统的监护actor,后者实际创建actor及其上下文并将它们放入引用中。在此之前,发送到 ActorRef 的消息将在本地排队,只有在交换真实填写后,它们才会被转移到真实邮箱中。

演员邮箱

于 2016-02-29T15:44:45.207 回答