位置:首页 > 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