2017-08-08 51 views
0

所以好像我有兩個可能獲得兒童演員實例的保持:阿卡演員的選擇與語境孩子

  1. 通過使用context.actorSelection,它返回一個Future[ActorRef]
context.actorSelection(actorNameString).resolveOne(2.seconds)
  • 通過使用context.child,它返回一個Option[ActorRef]
  • context.child(actorNameString)

    那我應該選擇哪一個,爲什麼?

    我知道什麼使用actorSelection,我可以是異步的,但還有什麼其他原因可以讓一個人比另一個更好呢?

    回答

    1

    除非你爲你的孩子演員使用遠程部署(在這種情況下,我不知道該怎麼回答),或者你想獲得一個孩子的孩子的參考,我不認爲你應該使用get ActorRef通過context.actorSelection獲得對兒童演員的引用。

    context.actorSelection是爲了識別和獲取運行在任何地方(在其他JVM /主機上)的(多個)參與者的引用,這就是爲什麼它是異步的。當然你可以用它來抓住一個小孩演員,但是如果你可以去找context.child

    我想你可以看到context.child作爲一個專門的版本(context.actorSelection(actorNameString).resolve)的情況下,你想獲得一個單一的引用一個孩子演員。