Japanese / English
スレッドの一定時間休止
スレッドを一定時間休止するには sleep() メソッドを使用します。
クラスメソッドのためインスタンス化する必要はなく、 Thread.sleep(1000) というように記述します。
第一引数はミリ秒なので、1000を指定した場合、1秒間スレッドを休止します。
ナノ秒まで指定する場合は Thread.sleep(1000,500) というように第二引数でナノ秒を指定します。

sleep()メソッドはInterruptedExceptionをthrowする可能性があるため、try~catchで囲むなり対処が必要になります。
以下、スレッドクラスの例を見てください。例では1秒ごとに実行中スレッドの名前を出力します。

public class MyThread implements Runnable{
    public void run(){
        for (int i=0;i<
10;i++){
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(Thread.currentThread().getName());
        }
    }
}
以下のTESTクラスでは、上記スレッドクラスをインスタンス化し、二つのスレッドを実行している例です。

public class TEST {
    public static void main(String[] args){
        MyThread thread1 = new MyThread();
        MyThread thread2 = new MyThread();
        
        Thread th = new Thread(thread1);
        th.start();
        th = new Thread(thread2);
        th.setName("スレッド2");
        th.start();
    }
}
上記、Javaアプリケーションを実行すると、1秒ごとにスレッド名が表示され、結果は以下のようになります。

Thread-0
スレッド2
Thread-0
スレッド2
Thread-0
スレッド2
Thread-0
スレッド2
Thread-0
スレッド2
Thread-0
スレッド2
Thread-0
スレッド2
Thread-0
スレッド2
Thread-0
スレッド2
Thread-0
スレッド2

Back to top

Information
Information
社長ブログ


運営サイト




広告



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