一、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毫秒