TimeUnit类源码分析

一、TimeUnit类(枚举类)分析
①Thread.sleep()可读性较差,是一个可重载的方法,可以接收长整型的毫秒或纳秒参数,有线程中断当前线程,会抛出InterrupttedException异常;TimeUnit.SECONDS.sleep()可读性强,而且是java.util.concurrent包下的类,是个枚举类。

②TimeUnit中枚举属性

TimeUnit.DAYS          //天  
TimeUnit.HOURS         //小时  
TimeUnit.MINUTES       //分钟  
TimeUnit.SECONDS       //秒  
TimeUnit.MILLISECONDS  //毫秒 
TimeUnit.MICROSECONDS  //微秒
TimeUnit.NANOSECONDS   //纳秒

③参数d的单位为枚举属性的单位,转化后的输出的单位该方法的单位。

public long toNanos(long d)    //转化为纳秒
public long toMicros(long d)   //转化成微妙
public long toMillis(long d)    //转化成毫秒  
public long toSeconds(long d)  //转化成秒  
public long toMinutes(long d)  //转化成分钟  
public long toHours(long d)    //转化成小时  
public long toDays(long d)     //转化天 

④public void sleep(long timeout) //暂停线程timeout单位(根据枚举属性)

二、使用示例

①TimeUnit.SECONDS.sleep(1); //暂停线程1s
②TimeUnit.SECONDS.toMillis(44):将秒(参数)转化为毫秒(调用的方法),也就是44000毫秒

猜你喜欢

转载自blog.csdn.net/tree_ifconfig/article/details/81099173