作为演员实例和 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 上调用了 ! 方法。