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.shutdown最後に、をシャットダウンする呼び出しを行う必要がありますActorSystem

ActorSystemアプリケーションを終了するために終了する必要があるスレッドを内部的に管理します。shutdownそれらを終了します。それを呼び出さないと、スレッドがまだ生きているため、アプリケーションがシャットダウンするのを防ぐことができます。

于 2013-08-01T08:12:39.133 に答える