演员让我的电脑挂起

时间:2013-08-01 07:05:44

标签: scala akka

以下代码使我的计算机一直处于挂起状态:

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的异常,但后来几乎没有响应。以前,当这段代码没有使用actor时,一切都运行得很好。

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

更新

如何找出问题所在?

1 个答案:

答案 0 :(得分:2)

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

内部ActorSystem管理需要终止的应用程序终止的线程。 shutdown终止了它们。不调用它会阻止你的应用程序关闭,因为线程仍然存在。