0

以下代码使我的计算机一直挂起:

object Application extends App {
  val system = ActorSystem()
  val supervisor = system.actorOf(Props[Supervisor])
  implicit val timeout = Timeout(10 seconds)

  import system.dispatcher

  val future = supervisor ? Supervisor.Start
  val idList = Await.result(future, timeout.duration).asInstanceOf[List[MyClass]]
  supervisor ! idList
}

它会导致异常,timeout但后来它几乎没有响应。以前,当这段代码不使用演员时,一切正常。

我不能发它,因为它有很多。我必须发布什么代码?

更新

我如何找出问题所在?

4

1 回答 1

2

看起来您没有终止您的Actorsystem,因此应用程序不会终止。最后,您需要调用system.shutdownwhich 将关闭ActorSystem.

在内部ActorSystem管理需要终止以使应用程序终止的线程。shutdown终止它们。不调用它会阻止您的应用程序关闭,因为线程仍然处于活动状态。

于 2013-08-01T08:12:39.133 回答