所有类


java.util.concurrent
枚举 TimeUnit

java.lang.Object
  继承者 java.lang.Enum<TimeUnit>
      继承者 java.util.concurrent.TimeUnit
所有已实现的接口:
Serializable, Comparable<TimeUnit>

public enum TimeUnit
   
   
   
   
   
extends Enum<TimeUnit>

TimeUnit 表示给定单元粒度的时间段,它提供在这些单元中进行跨单元转换和执行计时及延迟操作的实用工具方法。TimeUnit 不维护时间信息,但是有助于组织和使用可能跨各种上下文单独维护的时间表示形式。

TimeUnit 主要用于通知基于时间的方法如何解释给定的计时参数。例如,如果 lock 不可用,则以下代码将在 50 毫秒后超时:

  Lock lock = ...;
  if ( lock.tryLock(50L, TimeUnit.MILLISECONDS) ) ...
 
而以下代码将在 50 秒后超时:
  Lock lock = ...;
  if ( lock.tryLock(50L, TimeUnit.SECONDS) ) ...
 
但是注意,不保证特定超时实现能够以与给定 TimeUnit 相同的粒度通知 段。

从以下版本开始:
1.5

枚举常量摘要
MICROSECONDS
           
MILLISECONDS
           
NANOSECONDS
           
SECONDS
           
 
方法摘要
 long convert(long duration, TimeUnit unit)
          将给定单元的时间段转换到此单元。
 void sleep(long timeout)
          使用此单元执行 Thread.sleep.这是将时间参数转换为 Thread.sleep 方法所需格式的便捷方法。
 void timedJoin(Thread thread, long timeout)
          使用此时间单元执行计时的 Thread.join
 void timedWait(Object obj, long timeout)
          使用此时间单元执行计时的 Object.wait
 long toMicros(long duration)
          等效于 MICROSECONDS.convert(duration, this)
 long toMillis(long duration)
          等效于 MILLISECONDS.convert(duration, this)
 long toNanos(long duration)
          等效于 NANOSECONDS.convert(duration, this)
 long toSeconds(long duration)
          等效于 SECONDS.convert(duration, this)
static TimeUnit valueOf(String name)
          返回带有指定名称的该类型的枚举常量。
static TimeUnit[] values()
          按照声明该枚举类型的常量的顺序,返回 包含这些常量的数组。
 
从类 java.lang.Enum 继承的方法
clone, compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
从类 java.lang.Object 继承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait
 

枚举常量详细信息

NANOSECONDS

public static final TimeUnit NANOSECONDS

MICROSECONDS

public static final TimeUnit MICROSECONDS

MILLISECONDS

public static final TimeUnit MILLISECONDS

SECONDS

public static final TimeUnit SECONDS
方法详细信息

values

public static final TimeUnit[] values()
按照声明该枚举类型的常量的顺序,返回 包含这些常量的数组。该方法可用于迭代 常量,如下所示:
for(TimeUnit c :TimeUnit.values())
        System.out.println(c);

返回:
按照声明该枚举类型的常量的顺序,返回 包含这些常量的数组。

valueOf

public static TimeUnit valueOf(String name)
返回带有指定名称的该类型的枚举常量。 字符串必须与用于声明该类型的枚举常量的 标识符完全匹配。(不允许有多余 的空格。)

参数:
指定要返回的枚举常量的名称。 -
返回:
返回带有指定名称的枚举常量
抛出:
如果该枚举类型没有带有指定名称的常量, - 则抛出 IllegalArgumentException

convert

public long convert(long duration,
                    TimeUnit unit)
将给定单元的时间段转换到此单元。从较细粒度到较粗粒度的舍位转换,这样会失去精确性。例如,将 999 毫秒转换为秒的结果为 0。使用参数从较粗粒度到较细粒度转换,如果参数为负,则在数字上溢出至 Long.MIN_VALUE,如果为正,则为 Long.MAX_VALUE

参数:
duration - 给定 unit 中的时间段
unit - duration 参数的单元
返回:
此单元中的转换时间段;如果转换将负溢出,则返回 Long.MIN_VALUE;如果转换将正溢出,则返回 Long.MAX_VALUE

toNanos

public long toNanos(long duration)
等效于 NANOSECONDS.convert(duration, this)

参数:
duration - 时间段
返回:
转换时间段,如果转换将负溢出,则返回 Long.MIN_VALUE;如果转换将正溢出,则返回 Long.MAX_VALUE
另请参见:
convert(long, java.util.concurrent.TimeUnit)

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部