Heim > Java > javaLernprogramm > Wie unterbreche ich einen laufenden Thread in Java?

Wie unterbreche ich einen laufenden Thread in Java?

WBOY
Freigeben: 2023-09-18 13:49:02
nach vorne
909 Leute haben es durchsucht

Wie unterbreche ich einen laufenden Thread in Java?

Ein Thread kann einen Thread unterbrechen, indem er ein Interrupt-Signal sendet, indem er die Methode interrupt() des Thread-Objekts aufruft. Dies bedeutet, dass die Unterbrechung des Threads durch andere Threads verursacht wird, die die Methode interrupt() aufrufen. Die

Thread-Klasse bietet drei Interrupt-Methoden:

  • void interrupt() – unterbricht den Thread.
  • static boolean interrupted() – Testet, ob der aktuelle Thread unterbrochen ist.
  • boolean isInterrupted() – Testet, ob der Thread unterbrochen ist.

Beispiel

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;
         }
      }
   }
}
Nach dem Login kopieren

Ausgabe

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
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie unterbreche ich einen laufenden Thread in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage