Java-Beispiele - Einen Thread beenden

Java 实例Java-Beispiele

Ursprünglich stellte Java die Methode stop() in Thread bereit, um Threads zu beenden, aber diese Methode ist unsicher und wird daher im Allgemeinen nicht empfohlen.

Dieser Artikel führt die Verwendung der Methode interrupt ein, um Threads zu unterbrechen.

Die Verwendung der Methode interrupt zum Unterbrechen eines Threads kann in zwei Fälle unterteilt werden:

  • (1) Der Thread befindet sich in einem blockierten Zustand, beispielsweise wenn die Methode sleep verwendet wird.
  • (2) Verwenden Sie while (!isInterrupted()) { ... }, um festzustellen, ob der Thread unterbrochen wurde.

Im ersten Fall führt die Verwendung der interrupt-Methode dazu, dass die sleep-Methode eine InterruptedException-Ausnahme auslöst, während im zweiten Fall der Thread direkt beendet wird. Der folgende Code demonstriert die Verwendung der interrupt-Methode im ersten Fall.

ThreadInterrupt.java-Datei

public class ThreadInterrupt extends Thread { public void run() { try { sleep(50000); //Verzögerung um 50 Sekunden } catch (InterruptedException e) { System.out.println(e.getMessage()); } } public static void main(String[] args) throws Exception { Thread thread = new ThreadInterrupt(); thread.start(); System.out.println("Drücken Sie innerhalb von 50 Sekunden eine beliebige Taste, um den Thread zu unterbrechen!"); System.in.read(); thread.interrupt(); thread.join(); System.out.println("Thread wurde beendet!"); } }

Die Ausgabe des obigen Codes ist:

在50秒之内按任意键中断线程!

sleep interrupted
线程已经退出!

Java 实例Java-Beispiele

Andere Erweiterungen