Przykłady Java - zakończenie wątku
Wątek Java pierwotnie przewidziane w metodzie stop (), aby zakończyć wątek, ale ta metoda nie jest bezpieczna, to generalnie nie jest zalecane.
W tym artykule pokażemy wykorzystanie przerwania wątku metoda przerwania.
Stosując metodę przerywania do końca gwintu może być podzielona na dwie sytuacje:
- (1) nici jest zablokowane, jak na przykład metodą uśpienia.
- (2) wykorzystują podczas (! IsInterrupted ()) {......} w celu określenia, czy gwint jest przerwany.
W pierwszym przypadku, z zastosowaniem metody przerwania metoda snu zgłasza wyjątek InterruptedException, natomiast w drugim przypadku wątek zostanie zamknięty. Poniższy kod demonstruje użycie metody przerwania w pierwszym przypadku.
/* 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("线程已经退出!"); } }
Powyższy kod jest uruchamiany wyjście jest:
在50秒之内按任意键中断线程! sleep interrupted 线程已经退出!