天天看點

Java之TimeUnit

1、TimeUnit介紹

位于這個包下

import java.util.concurrent.TimeUnit;

2、使用

一般比如多少分鐘轉多少毫秒、多少秒轉多少毫秒、多少小時轉多少分鐘,還可以使用線程休息的方法, 底層還是用Thread.sleep()實作,代碼可讀性好點,我們可以使用這個封裝好的類。

TimeUnit.SECONDS.sleep(4);

TimeUnit.SECONDS.toMillis(3)

3、測試Demo

public class Sqrt {
    public static void main(String[] args) {
        System.out.println(mySqrt(110));
        try {
            System.out.println("TimeUnit.SECONDS.sleep start");
            TimeUnit.SECONDS.sleep(4); 
            System.out.println("TimeUnit.SECONDS.sleep end");
            //3秒轉成毫秒
            System.out.println(TimeUnit.SECONDS.toMillis(3));
            //3分鐘轉成毫秒
            System.out.println(TimeUnit.MINUTES.toMillis(3));
            //3分鐘轉成秒
            System.out.println(TimeUnit.MINUTES.toSeconds(3));
            //3小時轉成分鐘
            System.out.println(TimeUnit.HOURS.toMinutes(3));
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
  }
}      

sleep源代碼實作

public void sleep(long timeout) throws InterruptedException {
    if (timeout > 0) {
        long ms = toMillis(timeout);
        int ns = excessNanos(timeout, ms);
        Thread.sleep(ms, ns);
    }      

4、運作結果

10
TimeUnit.SECONDS.sleep start
TimeUnit.SECONDS.sleep end
3000
180000
180
180