Maison > Java > javaDidacticiel > Comment arrêter gracieusement un thread en Java ?

Comment arrêter gracieusement un thread en Java ?

Linda Hamilton
Libérer: 2024-11-11 04:33:03
original
987 Les gens l'ont consulté

How to Gracefully Halt a Thread in Java?

Arrêter gracieusement un thread en Java

Lorsqu'un thread prend trop de temps à s'exécuter, il peut être nécessaire de l'arrêter gracieusement pour éviter l’instabilité du système. L'approche préférée pour y parvenir consiste à implémenter un indicateur booléen dans la méthode run() du thread, comme suit :

class MyThread extends Thread {
  volatile boolean finished = false;

  public void stopMe() {
    finished = true;
  }

  public void run() {
    while (!finished) {
      // Perform necessary tasks
    }
  }
}
Copier après la connexion

Cela vous permet d'arrêter le thread à partir d'une source externe en définissant finish sur true.

Il est important de noter que la méthode obsolète Thread.stop() est intrinsèquement dangereuse. Comme l'indique la documentation Java, cela peut conduire à un comportement arbitraire en raison du déverrouillage des moniteurs et d'incohérences potentielles dans les états des objets. Par conséquent, l’implémentation d’une garde dans la méthode run() du thread, comme démontré ci-dessus, est l’approche recommandée et sûre pour une terminaison gracieuse du thread.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal