Japanese / English
スレッドの状態を調べる
スレッドが実行されているかどうか調べるには isAlive() メソッドを使用します。
スレッドが実行中の場合は true を返します。
スレッドが実行中でない場合は false を返します。
以下、スレッドクラスの例を見てください。例では実行中スレッドの名前を出力します。

public class MyThread implements Runnable{
    public void run(){
        for (int i=0;i<10;i++){
            System.out.println(Thread.currentThread().getName());
        }
    }
}
以下のTESTクラスでは、上記スレッドクラスをインスタンス化し、スレッドを実行しています。
そのあとisAlive()メソッドを使用してスレッドが終了するまでwhile文でmainのスレッドを止め、isAlive()メソッドの戻り値がfalseになった時点でループを抜けて標準出力しています。

public class TEST {
    public static void main(String[] args){
        MyThread thread1 = new MyThread();
        
        Thread th = new Thread(thread1);
        th.start();

        while(th.isAlive());
        
        System.out.println("状態: " + th.isAlive());
    }
}
上記、Javaアプリケーションを実行すると、スレッド名が表示され、スレッドが実行終了するとwhile文を抜けてスレッドの状態が表示されます。
出力結果は以下のようになります。

Thread-0
Thread-0
Thread-0
Thread-0
Thread-0
Thread-0
Thread-0
Thread-0
Thread-0
Thread-0
状態: false

Back to top

Information
Information
社長ブログ


運営サイト




広告



Google Search
PV
SEO対策 大阪  税理士 相談  税理士 守口市  税理士 大阪市  税理士 枚方市  自動車ガラス 神戸  シール印刷 神戸  ブリリアントアパートメント  株式会社CONFRAGE  英会話 個人レッスン 京都市右京区  京都市右京区西京区でマンツーマン英会話 
このページはCONFRAGEの著作物です。このページを複製・転載することを禁じます。CopyRight(C)2003-2016 CONFRAGE All rights reserved.