Scala Library: scala.sys.ShutdownHookThread Feb 15, 2016 scala.sys.ShutdownHookThread object ShutdownHookThread Source ShutdownHookThread.scala - Blame ShutdownHookThread.scala - History Value Members From scala.sys.ShutdownHookThread def apply(body: ⇒ Unit): ShutdownHookThread Creates, names, and registers a shutdown hook to run the given code. (defined at scala.sys.ShutdownHookThread) Full Source: /* __ *\ ** ________ ___ / / ___ Scala API ** ** / __/ __// _ | / / / _ | (c) 2003-2013, LAMP/EPFL ** ** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ ** ** /____/\___/_/ |_/____/_/ | | ** ** |/ ** \* */ package scala package sys /** A minimal Thread wrapper to enhance shutdown hooks. It knows * how to unregister itself. * * @author Paul Phillips * @version 2.9 * @since 2.9 */ class ShutdownHookThread private (name: String) extends Thread(name) { def remove() = runtime removeShutdownHook this } object ShutdownHookThread { private var hookNameCount: Int = 0 private def hookName(): String = synchronized { hookNameCount += 1 "shutdownHook" + hookNameCount } /** Creates, names, and registers a shutdown hook to run the * given code. */ def apply(body: => Unit): ShutdownHookThread = { val t = new ShutdownHookThread(hookName()) { override def run() = body } runtime addShutdownHook t t } } Interested in Scala?I send out weekly, personalized emails with articles and conference talks. Subscribe now.