我是 Akka 的新手,正在努力解决SupervisorStrategies
和终止儿童演员的问题。我有几个非常相似的担忧。
首先,我的理解是,如果一个演员创建另一个演员(通过context.actorOf(...)
),那么它自动成为创建的演员的父母/主管。这是一个演员可以成为另一个演员的父母/主管的唯一方式。
如果我上面说的有什么不正确的地方,请先纠正我!但是,假设我或多或少走上了正轨,那么当多个父演员创建同一个子演员的实例时会发生什么:
// Groovy pseudo-code.
class Fizz extends UntypedActor {
@Override
void onReceive(Object message) {
ActorRef buzz = context.system.actorOf(Props.create(Buzz), "buzz")
buzz.tell("Hello buzz!", self)
}
}
class Foo extends UntypedActor {
@Override
void onReceive(Object message) {
ActorRef buzz = context.system.actorOf(Props.create(Buzz), "buzz")
buzz.tell("Meh!", self)
}
}
在上面的例子中,Fizz
和Foo
父母是同一个Buzz
actor实例,还是两个实例Buzz
?如果是多个实例,我可以假设终止一个实例只会终止该实例吗?或者,如果Foo
终止/停止其Buzz
实例,那是否也会终止/停止Fizz
的实例?