當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。