JavaA2Z

KAB-studio > プログラミング > JavaA2Z > InterruptedExceptionとは

InterruptedException

日本語 割り込み例外
英語 interrupted exception
ふりがな いんたらぷてっどえくせぷしょん
フリガナ インタラプテッドエクセプション

解説

割り込みが発生した場合に投げられる例外
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名java.lang.InterruptedException。
例外の一種。Threadクラスsleep()メソッド等、一時的にスレッドを停止するメソッド投げる。停止中に、Threadクラスinterrupt()メソッド等で割り込みが生じた場合に投げられる
Exceptionクラスサブクラスのため、単に一時停止させたい場合にも必ずcatchしなければならないため少し面倒。

(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // スレッドを作ります。
        OtherThread thread = new OtherThread();
        thread.start();
        // 眠っているスレッドに割り込みを掛けます。
        thread.interrupt();
    }
}

/**
*   別スレッドとして実行するためのクラス。
*/
class OtherThread extends Thread
{
    /**
    *   Threadクラスのrun()メソッドを
    *   オーバーライドしたメソッド。このメソッドが
    *   別スレッドとして呼び出されます。
    */
    public void run()
    {
        try
        {
            // 5秒待ちます。
            sleep( 5 * 1000 );
            System.out.println( "ここは通らないでしょう。" );
        }
        catch( InterruptedException e )
        {
            // Threadクラスのinterrupt()メソッドで
            // 割り込みが入るため、InterruptedException例外が
            // 投げられます。
            e.printStackTrace();
            // java.lang.InterruptedException: sleep interrupted
            //     at java.lang.Thread.sleep(Native Method)
            //     at OtherThread.run(Sample.java:29)
        }
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // スレッドを作ります。
        OtherThread thread = new OtherThread();
        thread.start();
        // 眠っているスレッドに割り込みを掛けます。
        thread.interrupt();
    }
}

/**
*   別スレッドとして実行するためのクラス。
*/
class OtherThread extends Thread
{
    /**
    *   Threadクラスのrun()メソッドを
    *   オーバーライドしたメソッド。このメソッドが
    *   別スレッドとして呼び出されます。
    */
    public void run()
    {
        try
        {
            // 5秒待ちます。
            sleep( 5 * 1000 );
            System.out.println( "ここは通らないでしょう。" );
        }
        catch( InterruptedException e )
        {
            // Threadクラスのinterrupt()メソッドで
            // 割り込みが入るため、InterruptedException例外が
            // 投げられます。
            e.printStackTrace();
            // java.lang.InterruptedException: sleep interrupted
            //     at java.lang.Thread.sleep(Native Method)
            //     at OtherThread.run(Sample.java:29)
        }
    }
}

この単語を含むページ

「みだし」に含まれているページ

「解説」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/05/18
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。