2016-02-29 44 views
3

我有一个非常简单的问题,但我没有在互联网上找到任何东西(也许我不知道如何搜索它)。发送给正在部署的Actor的消息会发生什么?

如果我部署actor(actorSystem.actorOf ...)并立即向其发送消息,如果Actor尚未部署,消息将被排入“特殊”队列中,或将消息被送到DeadLetters?

回答

5

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

为了使system.actorOf同时和非阻塞同时保持返回类型ActorRef(以及返回的ref是全功能的语义),在这种情况下会进行特殊处理。在幕后,构建了一种空洞的演员参考资料,发送给系统的监护人演员,演员实际创建演员及其背景并将其放入参考文件中。在发生这种情况之前,发送给ActorRef的消息将在本地排队,并且只有在交换实际填充后才会将它们传送到真正的邮箱中。

Actor mailboxes

相关问题