作为演员实例和 class
Akka actor instance and class
当 Akka 手册提到 actor 时,它是指 Actor 子类的 实例 吗?还是 Props
允许创建多个 actor 实例?
所以当它说一个 Actor 有一个邮箱时,它是指每个 Actor 实例一个邮箱,还是每个相同 Props
个 actor 的多个实例一个邮箱?
当文档引用 actor 实例时,它是 Actor
的一个实例,Props
只是一个配置对象。参见 scaladocs
将 Props
视为一个食谱 - 这意味着每个烘焙的 actor 实例将是独立的并且具有独立的邮箱。例如,您可以在配置文件 (application.conf
) 或 Props
中配置部署配置。除了来自 scaladocs 的示例(例如 props.withRouter(...)
)
,请参阅 docs
有两个实体可以称为演员:
- Actor 实例或
Actor
class 的对象通常被称为 actor。因此,当您阅读 'actor is created' 时,这意味着该实例已创建
ActoRef
是指向用于交互的Actor
(或其邮箱)的指针。由于您不应该(也不会)与 Actor 实例本身进行交互,因此您将向 ActorRef
发送消息。因此,如果您阅读 'send message X to the actor Y',则意味着您在指向演员 Y 的邮箱的 ActorRef
上调用了 !
方法。
当 Akka 手册提到 actor 时,它是指 Actor 子类的 实例 吗?还是 Props
允许创建多个 actor 实例?
所以当它说一个 Actor 有一个邮箱时,它是指每个 Actor 实例一个邮箱,还是每个相同 Props
个 actor 的多个实例一个邮箱?
当文档引用 actor 实例时,它是 Actor
的一个实例,Props
只是一个配置对象。参见 scaladocs
将 Props
视为一个食谱 - 这意味着每个烘焙的 actor 实例将是独立的并且具有独立的邮箱。例如,您可以在配置文件 (application.conf
) 或 Props
中配置部署配置。除了来自 scaladocs 的示例(例如 props.withRouter(...)
)
有两个实体可以称为演员:
- Actor 实例或
Actor
class 的对象通常被称为 actor。因此,当您阅读 'actor is created' 时,这意味着该实例已创建 ActoRef
是指向用于交互的Actor
(或其邮箱)的指针。由于您不应该(也不会)与 Actor 实例本身进行交互,因此您将向ActorRef
发送消息。因此,如果您阅读 'send message X to the actor Y',则意味着您在指向演员 Y 的邮箱的ActorRef
上调用了!
方法。