Quand dois-je appeler cette méthode d'Exécution.getRuntime().addShutdownHook()
Quand dois-je réellement besoin d'appeler cette méthode d'Exécution.getRuntime().addShutdownHook() et quand ou pourquoi j'ai besoin d'arrêter ma demande. Quelqu'un pourrait-il svp m'expliquer en donnant des exemples.
Grâce
Vous devez vous connecter pour publier un commentaire.
Autant que je sache, je vais vous expliquer ci-dessous. Vous pouvez google et de trouver beaucoup d'informations trop.
addShutdownHook()
va enregistrer certaines actions qui seront exécutés sur la terminaison du Programme. Le programme que vous commencez extrémités de deux façons:Si vous ajoutez un ShutdownHook, le crochet va démarrer un thread qui va commencer à courir au moment de la résiliation seulement. Par exemple:
permettra d'imprimer un
Running Shutdown Hook
au moment de la cessation du programme à tout moment. Vous pouvez même appeler unSystem.exit(0)
.Pour des exemples, vous pouvez google, il y en a assez. Et à la question "Quand devez-vous utiliser ce' est comme demander "Qu'est -
catch
faire dans untry-catch
déclaration".Vous pourriez avoir de nombreuses situations comme:
Tout cela sera nécessaire pendant un certain temps.
Pour des exemples, vous pouvez aller ici Exemple 1 ou Exemple 2
Vous ne vous inquiétez à propos de l'arrêt de crochets quand vous voulez quelque chose de se produire lorsqu'un arrêt se produit sur la machine virtuelle.
De Javadoc:
Ainsi, un arrêt de crochet est un initialisé et unstarted thread à exécuter lors de l'une JVM arrêt se produit.
Des exemples courants d'arrêt crochets existe dans les serveurs d'applications (tels que JBoss as). Lorsque vous appuyez sur la touche Ctrl+C, la JVM appelle tous les
Runtime
arrêt crochets enregistrés (tels que JBoss arrêt crochets) avant de quitter.JVM
lui-même est shutdowned.Dans un cas, et Si vous avez des fils de démon qui doit être arrêté avant votre arrêt de la jvm (ou) toute autre backend threads (surtout les fils de démon) doivent être gracieusement sorti, vous allez écrire fermeture de crochet et de l'exécuter en utilisant le code ci-dessus. Ici est intéressante discussion que nous avons eu sur DONC, il ya quelques jours. Fermeture à crochet