我已经使用Akka及其Java API UntypedActor实现了一个Actor系统。在该系统中,一个Actor(类型A)根据需要动态启动其他Actor(类型B),使用
getContext().actorOf(...);
。那些B类型的Actor将执行一些计算,但A类型的Actor不再关心它们。但我想知道:当这些B类型的Actor完成任务时,有必要清理它们吗?如果需要,应该如何清理?
- 当B类型的Actor完成任务时,通过调用
getContext().stop(getSelf())
来停止它们? - 当B类型的Actor完成任务时,通过调用
getSelf().tell(Actors.poisonPill());
来停止它们?[这是我目前正在使用的方法]。 - 什么都不做?
- 通过其他方式?