Heim >Java >javaLernprogramm >Wie kann ich einen Java-Thread sicher stoppen, ohne „Thread.stop()' zu verwenden?
So beenden Sie einen Thread effektiv, ohne die veraltete Thread.stop()-Methode zu verwenden
Die Java-Thread-Klasse stellt die stop()-Methode bereit als Mittel zum Beenden eines Threads, ist jedoch veraltet und sollte nicht verwendet werden. Dieser Artikel stellt einen alternativen Ansatz zum Beenden eines Threads mithilfe der Interrupt-Methode vor.
Verwenden von Interrupt zum Stoppen eines Threads
Anstelle des direkten Aufrufs von stop(), was unsicher ist und zu Datenbeschädigungen führen kann, können wir Interrupt verwenden, um dem Thread zu signalisieren, dass er ordnungsgemäß beendet werden soll. So funktioniert es:
public class InterruptedExceptionExample { private static volatile boolean shutdown = false; public static void main(String[] args) { Thread thread = new Thread(() -> { while (!shutdown) { try { System.out.println("Running..."); Thread.sleep(5000); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } } }); thread.start(); System.out.println("Press enter to quit"); try { System.in.read(); } catch (IOException e) { e.printStackTrace(); } shutdown = true; thread.interrupt(); } }
In diesem Code:
Vorteile der Verwendung Unterbrechung:
Das Unterbrechen eines Threads bietet mehrere Vorteile gegenüber dem veralteten stop():
Das obige ist der detaillierte Inhalt vonWie kann ich einen Java-Thread sicher stoppen, ohne „Thread.stop()' zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!