Java執行緒睡眠


Thread類的sleep()方法用於在指定的時間內睡眠執行緒。

java中sleep()方法的語法
Thread類為睡眠執行緒提供了兩種方法:

  • public static void sleep(long miliseconds)throws InterruptedException
  • public static void sleep(long miliseconds, int nanos)throws InterruptedException

java中的sleep方法範例

範例程式碼 -

package com.yiibai;

class TestSleepMethod1 extends Thread {
    public void run() {
        for (int i = 1; i < 5; i++) {
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                System.out.println(e);
            }
            System.out.println(i);
        }
    }

    public static void main(String args[]) {
        TestSleepMethod1 t1 = new TestSleepMethod1();
        TestSleepMethod1 t2 = new TestSleepMethod1();

        t1.start();
        t2.start();
    }
}

執行上面範例程式碼,得到以下結果:

1
1
2
2
3
3
4
4

一次只執行一個執行緒。如果在指定的時間內休眠一個執行緒,那麼執行緒排程程式(shedular)將獲取另一個執行緒,依此類推。