以下代码使我的计算机一直处于挂起状态:
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时,一切都运行得很好。
我不能发帖,因为它有很多。我必须发布什么代码?
更新:
如何找出问题所在?
答案 0 :(得分:2)
看起来您没有终止Actorsystem
,因此应用程序不会终止。
最后,您需要致电system.shutdown
,这将关闭ActorSystem
。
内部ActorSystem
管理需要终止的应用程序终止的线程。 shutdown
终止了它们。不调用它会阻止你的应用程序关闭,因为线程仍然存在。