阿卡演员的选择与语境孩子
问题描述:
所以好像我有两个可能获得儿童演员实例的保持:阿卡演员的选择与语境孩子
- 通过使用
context.actorSelection
,它返回一个Future[ActorRef]
context.actorSelection(actorNameString).resolveOne(2.seconds)
- 通过使用
context.child
,它返回一个Option[ActorRef]
context.child(actorNameString)
那我应该选择哪一个,为什么?
我知道什么使用actorSelection
,我可以是异步的,但还有什么其他原因可以让一个人比另一个更好呢?
答
除非你为你的孩子演员使用远程部署(在这种情况下,我不知道该怎么回答),或者你想获得一个孩子的孩子的参考,我不认为你应该使用get ActorRef
通过context.actorSelection
获得对儿童演员的引用。
context.actorSelection
是为了识别和获取运行在任何地方(在其他JVM /主机上)的(多个)参与者的引用,这就是为什么它是异步的。当然你可以用它来抓住一个小孩演员,但是如果你可以去找context.child
。
我想你可以看到context.child
作为一个专门的版本(context.actorSelection(actorNameString).resolve
)的情况下,你想获得一个单一的引用一个孩子演员。