1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
object Test {
scala.sys.addShutdownHook {
Thread.sleep(1000)
println("Test#shutdown.")
}
def daemon() = {
val t = new Thread {
override def run() {
Thread.sleep(10000)
println("Hallelujah!") // should not see this
}
}
t.setDaemon(true)
t.start()
t
}
def nonDaemon() = {
val t = new Thread {
override def run() {
Thread.sleep(100)
println("Fooblitzky!")
}
}
t.start()
t
}
def main(args: Array[String]): Unit = {
daemon()
nonDaemon()
scala.sys.addShutdownHook {
println("main#shutdown.")
}
}
}
|