Maison > Java > javaDidacticiel > le corps du texte

Comment interrompre un thread en cours d'exécution en Java ?

WBOY
Libérer: 2023-09-18 13:49:02
avant
862 Les gens l'ont consulté

Comment interrompre un thread en cours dexécution en Java ?

Un thread peut interrompre un thread en envoyant un signal d'interruption en appelant la méthode interrupt() de l'objet thread. Cela signifie que l'interruption du thread est causée par d'autres threads appelant la méthode interrupt(). La classe

Thread fournit trois méthodes d'interruption :

  • void interrompu() - interrompt le thread.
  • static boolean interrompu() - Teste si le thread actuel est interrompu.
  • boolean isInterrupted() - Teste si le thread est interrompu.

Exemple

public class ThreadInterruptTest {
   public static void main(String[] args) {
      System.out.println("Thread main started");
      final Task task = new Task();
      final Thread thread = new Thread(task);
      thread.start();
      thread.interrupt(); // calling interrupt()<strong> </strong>method
      System.out.println("Main Thread finished");
   }
}
class Task implements Runnable {
   @Override
   public void run() {
      for (int i = 0; i < 5; i++) {
         System.out.println("[" + Thread.currentThread().getName() + "] Message " + i);
         if(Thread.interrupted()) {
            System.out.println("This thread was interruped by someone calling this Thread.interrupt()");
            System.out.println("Cancelling task running in thread " + Thread.currentThread().getName());
            System.out.println("After Thread.interrupted() call, JVM reset the interrupted value to: " + Thread.interrupted());
            break;
         }
      }
   }
}
Copier après la connexion

Sortie

Thread main started
Main Thread finished
[Thread-0] Message 0
This thread was interruped by someone calling this Thread.interrupt()
Cancelling task running in thread Thread-0
After Thread.interrupted() call, JVM reset the interrupted value to: false
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal