Java hat ursprünglich die stop()-Methode in Thread bereitgestellt, um den Thread zu beenden. Diese Methode ist jedoch unsicher und wird daher im Allgemeinen nicht empfohlen.
Dieser Artikel führt Sie in die Verwendung der Interrupt-Methode zum Unterbrechen eines Threads ein.
Die Verwendung der Interrupt-Methode zum Beenden eines Threads kann in zwei Situationen unterteilt werden:
(1) Der Thread befindet sich in einem blockierten Zustand, z. B. bei Verwendung der Sleep-Methode.
(2) Verwenden Sie while(!isInterrupted()){…}, um festzustellen, ob der Thread unterbrochen ist.
Im ersten Fall löst die Sleep-Methode bei Verwendung der Interrupt-Methode eine InterruptedException-Ausnahme aus, während im zweiten Fall der Thread direkt beendet wird. Der folgende Code demonstriert die Verwendung der Interrupt-Methode im ersten Fall
/* author by w3cschool.cc ThreadInterrupt.java */public class ThreadInterrupt extends Thread { public void run() { try { sleep(50000); // 延迟50秒 } 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("在50秒之内按任意键中断线程!"); System.in.read(); thread.interrupt(); thread.join(); System.out.println("线程已经退出!"); } }
Das Ausgabeergebnis des obigen Codes ist:
在50秒之内按任意键中断线程! sleep interrupted 线程已经退出!
Das Obige ist das Java-Beispiel – der Inhalt Weitere Informationen zum Beenden des Threads finden Sie auf der chinesischen PHP-Website (www.php.cn)!