位置:首頁 > Java技術 > java.lang > java.lang.Thread.sleep(long millis, int nanos)方法實例

java.lang.Thread.sleep(long millis, int nanos)方法實例

java.lang.Thread.sleep(long millis, int nanos) 方法使當前執行的線程睡眠指定的毫秒數加納秒指定數量,受製於精度和係統計時器和調度程序精度。

聲明

以下是java.lang.Thread.sleep()方法的聲明

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

參數

  • millis -- 這是以毫秒為單位的休眠時間。

  • nanos -- 這是0-999999附加的納秒睡眠時間。

返回值

此方法不返回任何值。

異常

  • IllegalArgumentException -- 如果millis值為負或毫微秒的值不在0-999999範圍內。

  • InterruptedException -- 如果任何線程中斷當前線程。當這種異常被拋出當前線程的中斷狀態被清除。

例子

下麵的例子顯示java.lang.Thread.sleep()方法的使用。

package com.yiibai;

import java.lang.*;

public class ThreadDemo implements Runnable {

   Thread t;

   public void run() {
      for (int i = 10; i < 13; i++) {

         System.out.println(Thread.currentThread().getName() + "  " + i);
         try {
            // thread to sleep for 1000 milliseconds plus 500 nanoseconds
            Thread.sleep(1000, 500);
         } catch (Exception e) {
              System.out.println(e);
           }
      }
   }

   public static void main(String[] args) throws Exception {
      Thread t = new Thread(new ThreadDemo());
      // this will call run() function
      t.start();

      Thread t2 = new Thread(new ThreadDemo());
      // this will call run() function
      t2.start();
   }
} 

讓我們來編譯和運行上麵的程序,這將產生以下結果:

Thread-0  10
Thread-1  10
Thread-0  11
Thread-1  11
Thread-0  12
Thread-1  12