当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Thread sleep()用法及代码示例


线程类的 sleep() 方法用于让线程休眠指定的时间。

用法

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

参数

millis:It defines the length of time to sleep in milliseconds
nanos:0-999999 additional nanoseconds to sleep

返回

It does not return any value.

抛出

IllegalArgumentException: 如果 millis 的值为负或 nanos 的值不在 0-999999 范围内。

InterruptedException:如果任何线程中断了当前线程。抛出此异常时清除当前线程的中断状态。

例子1

public class SleepExp1 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[])
    {  
        SleepExp1 t1=new SleepExp1();  
        SleepExp1 t2=new SleepExp1();  
        t1.start();  
        t2.start();  
    }  
}

输出:

1
1
2
2
3
3
4
4
5
5

如您所知,一次只执行一个线程。如果您在指定时间内休眠一个线程,则线程调度程序会选择另一个线程,依此类推。

示例 2:当睡眠时间为负数时

public class SleepExp2 extends Thread
{  
    public void run()
    {  
        for(int i=1;i<5;i++)
        {  
            try
            {
                Thread.sleep(-500); // sleep time is negative
            }catch(InterruptedException e){System.out.println(e);}  
            System.out.println(i);  
        }  
    }  
    public static void main(String args[])
    {  
        SleepExp2 t1=new SleepExp2();  
        SleepExp2 t2=new SleepExp2();  
        t1.start();  
        t2.start();  
    }  
}

输出:

Exception in thread "Thread-0" Exception in thread "Thread-1" java.lang.IllegalArgumentException:timeout value is negative
	at java.lang.Thread.sleep(Native Method)
	at SleepExp2.run(SleepExp2.java:9)
java.lang.IllegalArgumentException:timeout value is negative
	at java.lang.Thread.sleep(Native Method)
	at SleepExp2.run(SleepExp2.java:9)






相关用法


注:本文由纯净天空筛选整理自 Java Thread sleep() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。