Java 中的 Thread 類提供了一個 sleep() 方法,用于暫停當前線程的執行,使其進入休眠狀態。該方法的語法如下:
public static void sleep(long millis) throws InterruptedException
其中,millis 參數表示線程要休眠的時間(以毫秒為單位)。sleep() 方法會使當前線程進入阻塞狀態,暫停執行指定的毫秒數,然后自動喚醒線程并繼續執行。
需要注意的是,sleep() 方法可能會拋出 InterruptedException 異常。這種情況通常是由于線程被中斷或者被通知退出休眠狀態而引起的。因此,在調用 sleep() 方法時,應該捕獲并處理 InterruptedException 異常,以便在必要時及時中止線程的執行。
下面是一個簡單的示例代碼,演示了如何使用 sleep() 方法使線程進入休眠狀態:
public class SleepDemo implements Runnable {
public void run() {
System.out.println("線程開始執行");
try {
// 使線程進入休眠狀態
Thread.sleep(5000);
} catch (InterruptedException e) {
System.out.println("線程被中斷");
return;
}
System.out.println("線程執行完畢");
}
public static void main(String[] args) {
// 創建新線程
Thread thread = new Thread(new SleepDemo());
// 啟動線程
thread.start();
// 在主線程中繼續執行其他任務
System.out.println("主線程繼續執行");
}
}
在上面的代碼中,我們定義了一個 SleepDemo 類實現了 Runnable 接口,并重寫了 run() 方法。在 run() 方法中,我們調用了 sleep() 方法,使線程進入休眠狀態,并在休眠結束后輸出一條消息。
在 main() 方法中,我們創建了一個新線程,并調用 start() 方法啟動該線程。在主線程中,我們輸出了一條消息表示繼續執行其他任務。運行程序后,可以看到主線程先輸出了一條消息,然后新線程進入休眠狀態,等待指定的時間后再輸出一條消息。