如何通过 java 中的循环在 AKKA 中创建多个 Actor?

How to create multiple Actors in AKKA by a loop in java?

这只是一个学习示例,我不想为数组中的每个元素创建和分配一个角色,

ActorSystem system = ActorSystem.create("mySystem");
for(String name:namesArray){
  ActorRef myActor = system.actorOf(Props.create(Actor.class),name);
}

这会创建多个演员还是会创建引用同一演员的演员路径?如果是后者,我该如何创建多个演员并为他们分配一个标识符?

该代码将:

  • 创建 ActorSystem
  • namesArray 中的每个名字创建一个演员(如果名字在数组中第二次出现,它将抛出一个 InvalidActorNameException

请注意,这段代码立即忘记了每个创建的演员的 ActorRef,这意味着您将无法向它发送消息,除非使用 ActorSelection,这通常是不建议。与此相伴,值得注意的是,即使该演员没有 ActorRef 演员也将继续 运行(必须明确停止演员)。