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