天天看点

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