如何通过 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
演员也将继续 运行(必须明确停止演员)。
这只是一个学习示例,我不想为数组中的每个元素创建和分配一个角色,
ActorSystem system = ActorSystem.create("mySystem");
for(String name:namesArray){
ActorRef myActor = system.actorOf(Props.create(Actor.class),name);
}
这会创建多个演员还是会创建引用同一演员的演员路径?如果是后者,我该如何创建多个演员并为他们分配一个标识符?
该代码将:
- 创建
ActorSystem
- 为
namesArray
中的每个名字创建一个演员(如果名字在数组中第二次出现,它将抛出一个InvalidActorNameException
)
请注意,这段代码立即忘记了每个创建的演员的 ActorRef
,这意味着您将无法向它发送消息,除非使用 ActorSelection
,这通常是不建议。与此相伴,值得注意的是,即使该演员没有 ActorRef
演员也将继续 运行(必须明确停止演员)。