TimeUnit

TimeUnit介绍

TimeUnit 表示给定单元粒度的时间段,它提供在这些单元中进行跨单元转换和执行计时及延迟操作的使用工具方法。

TimeUit不维护时间信息,单有助于组织和使用可能跨各种上下文单独维护时间的表示形式。

TimeUit主要用于通知基于时间的方法如何解释给定的计时参数。

// 例如Lock接口中有个tryLock方法
// 如果lock不可用,则50毫秒后超时
lock.tryLock(50L,TimeUnit.MILLISECONDS);

// 如果lock不可用,则50秒后超时
lock.tryLock(50L,TimeUnit.SECONDS);

TimeUnit的枚举常量

// 以下枚举超量都属于TimeUit类型
MICROSECONDS    微秒   一百万分之一秒(就是毫秒/1000)
MILLISECONDS    毫秒   千分之一秒    
NANOSECONDS   毫微秒  十亿分之一秒(就是微秒/1000)
SECONDS          秒
MINUTES     分钟
HOURS      小时
DAYS      天

主要接口

// 将给定的duration这个时间转换为指定unit类型
long conver(long duration,TimeUnit unit);

// 内部将执行Thread.sleep()
void sleep(long timeout);

// 内部执行Thread.join() 
void timedJoin(Thread thread,long timeout);

// 内部执行Oject.wait()
void timedWait(Object obj,long timeout);

// 等效于 MICROSECONDS.convert(duration,this);
long toMicros(long duration);

// 等效于MILLISECONDS.convert(duration,this);
long toMillis(long duration);

// 等效于 NANOSECONDS.convert(duration, this);
long  toNanos(long duration);
          
// 等效于 SECONDS.convert(duration, this);
long  toSeconds(long duration);
          
// 返回带有指定名称的该类型的枚举常量
static TimeUnit  valueOf(String name);
          
// 按照声明该枚举类型的常量的顺序,返回包含这些常量的数组           
static TimeUnit[]  values();



你可能感兴趣的:(TimeUnit)