java執行緒執行緒休眠,sleep方法

木子 旭發表於2020-11-23

java執行緒之sleep方法

  1. sleep方法指定當前執行緒阻塞的毫秒數;
  2. sleep存在異常interInterruptedException需要丟擲;
  3. sleep時間達到後,執行緒進入就緒狀態;
  4. sleep可以模擬網路延遲,倒數計時;
  5. 每一個物件都有一把鎖,sleep不會釋放鎖;

關於鎖的知識,以後會有文章講到

模擬倒數計時的java程式

public class TestSleep{

    public static void main(String[] args) throws InterruptedException {
        tenDown();
    }

    //倒數計時的方法
    public static void tenDown() throws InterruptedException {
        int numbers = 10;
        while (true){
            //模擬延時
            Thread.sleep(1000);
            System.out.println(numbers--);
            if (numbers <= 0){
                break;
            }
        }
    }
}

列印當前系統時間程式

public static void main(String[] args) throws InterruptedException {
        //列印當前系統時間
        Date startTime = new Date(System.currentTimeMillis());//獲取當前系統時間

        while (true){
            Thread.sleep(1000);
            System.out.println(new SimpleDateFormat("hh:mm:ss").format(startTime));
            startTime = new Date(System.currentTimeMillis()); 
        }
    }

執行結果
在這裡插入圖片描述

相關文章