Latest web development tutorials

Javaの例 - スレッドを終了

Javaの例 Javaの例

Javaのスレッドは、もともとスレッドを終了するには、stop()メソッドで提供されるが、この方法は、それが一般的に推奨されていない、安全ではありません。

本稿では、割り込みメソッド割り込みスレッドの使用を示しています。

スレッドを終了する割り込みメソッドを使用すると、二つの状況に分けることができます。

  • (1)スレッドは、スリープ方式を用いるように、ブロックされています。
  • (!isInterruptedを()){...}ながら、(2)のスレッドが中断されたかどうかを決定するために使用します。

第二の場合には、スレッドが終了する一方interruptメソッドを使用して最初のケースでは、睡眠方法は、InterruptedExceptionある例外をスローします。 次のコードは、最初のケースで割り込みメソッドの使用方法を示します。

/*
 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の例 Javaの例