Maison >Java >javaDidacticiel >Comment arrêter gracieusement les threads en Java à l'aide de « Thread.interrupt() » ?
Introduction
La terminaison des threads en Java est cruciale pour une exécution et des ressources gracieuses du programme gestion. Alors que la méthode obsolète .stop() était couramment utilisée dans le passé, elle a été remplacée par des approches plus fiables. Cet article explique comment arrêter correctement les threads à l'aide de Thread.interrupt().
Arrêter un thread avec Thread.interrupt()
La méthode préférée pour arrêter un thread dans Java doit utiliser Thread.interrupt(). Cette méthode "réveille" un thread en veille ou interrompt un appel de blocage interruptible, tel que Thread.sleep() ou des opérations d'E/S.
Implémentation de la méthode Interrupt()
public class IndexProcessor implements Runnable { ... @Override public void run() { boolean run = true; while (run) { try { ... } catch (InterruptedException e) { // Handle interruption run = false; } } } }
Fermeture Descendre un fil de discussion depuis l'extérieur
Pour arrêter un fil de discussion depuis l'extérieur de sa méthode run(), suivez les étapes suivantes :
public class SearchEngineContextListener implements ServletContextListener { ... private Thread thread; ... @Override public void contextDestroyed(ServletContextEvent event) { ... if (thread != null) { thread.interrupt(); } } }
Avantages de l'utilisation de Thread.interrupt()
Conclusion
L'utilisation de Thread.interrupt() fournit un moyen robuste et efficace d'arrêter les threads en Java, garantissant une exécution gracieuse du programme et une gestion des ressources. En implémentant cette méthode dans vos threads et en gérant les interruptions en conséquence, vous pouvez contrôler la terminaison des threads et éviter les exceptions inutiles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!