我已经编写了启动一个actor、杀死它并完成执行的示例代码。
object PureAkka {
def main(argv : Array[String]) = {
val actorSystem : ActorSystem = ActorSystem("main")
val actor : ActorRef = actorSystem.actorOf(Props( new Actor {
override def receive = {
case x => println(x)
}
override def preStart() = println("prestart")
override def postStop() = println("poststop")
} ) )
Thread.sleep(15000)
actor ! PoisonPill
}
}
此代码打印:
[info] prestart
[info] poststop
但它拒绝停止,直到我用 Ctrl-C 终止进程
应用程序在等待什么?我怎样才能以适当的方式阻止它?