我真的对这个案子感到惊讶。有任何想法为什么会发生这种情况?
每次都可以正常工作:
child(name) match {
case Some(ref) => ref ! Ping
case _ =>
val ref = actorOf(PingActor.props, name)
ref ! Ping
}
如果孩子不存在,我们将创建演员。然后发送 Ping 消息。
这有时会挂断演员已经存在的情况:
child(name) getOrElse actorOf(PingActor.props, name) ! GetState
为什么?