Java Thread sleep() 方法



描述

Java Thread sleep(long millis) 方法使當前正在執行的執行緒休眠指定毫秒數,受系統計時器和排程程式的精度和準確性的影響。

宣告

以下是java.lang.Thread.sleep() 方法的宣告

public static void sleep(long millis) throws InterruptedException

引數

millis − 這是休眠的毫秒數。

返回值

此方法不返回值。

異常

InterruptedException − 如果任何執行緒已中斷當前執行緒。當丟擲此異常時,當前執行緒的中斷狀態將被清除。

示例:在多執行緒環境中使用 sleep 用於執行緒

以下示例演示了 Java Thread sleep() 方法的使用。在這個程式中,我們透過實現 Runnable 介面建立了一個執行緒類 ThreadDemo。在 run 方法中,一個 for 迴圈正在執行,我們呼叫 sleep() 方法來建立給定的延遲。在 main() 方法中,建立並啟動兩個 ThreadDemo 類的執行緒以列印結果。

package com.tutorialspoint;

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 
            Thread.sleep(1000);
         } 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

示例:在單執行緒環境中使用 sleep 用於執行緒

以下示例演示了 Java Thread sleep() 方法的使用。在這個程式中,我們建立了一個類 ThreadDemo。在 main 方法中,使用 currentThread() 方法檢索當前執行緒,並使用 sleep() 引入給定時間的延遲,然後列印執行緒。

package com.tutorialspoint;

public class ThreadDemo {

   public static void main(String[] args) {

      Thread t = Thread.currentThread();
      t.setName("Admin Thread");

      // set thread priority to 1
      t.setPriority(1);
     

      try {
         // thread to sleep for 1000 milliseconds
         Thread.sleep(1000);
      } catch (Exception e) {
         System.out.println(e);
      }
	 
      // prints the current thread
      System.out.println("Thread = " + t);     
   }
} 

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Thread = Thread[Admin Thread,1,main]
java_lang_thread.htm
廣告
© . All rights reserved.