Java は元々、スレッドを終了するために Thread に stop() メソッドを提供していましたが、このメソッドは安全ではないため、通常は使用することはお勧めできません。
この記事では、interrupt メソッドを使用してスレッドを中断する方法を紹介します。
割り込みメソッドを使用してスレッドを終了する場合は、次の 2 つの状況に分けられます。
(1) スレッドがブロック状態にある場合 (スリープ メソッドの使用など)。
(2) while(!isInterrupted()){…} を使用して、スレッドが中断されているかどうかを判断します。
割り込みメソッドを使用する最初のケースでは、スリープ メソッドは InterruptedException 例外をスローしますが、2 番目のケースではスレッドが直接終了します。次のコードは、最初のケースでの割り込みメソッドの使用を示しています
/* 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("线程已经退出!"); } }
上記のコードの出力結果は次のとおりです:
在50秒之内按任意键中断线程! sleep interrupted 线程已经退出!
上記は Java の例の内容です - スレッドの終了 さらに関連した内容については、お支払いください。 PHP 中国語 Web サイト (www.php .cn) に注意してください。