1. 程式人生 > >java.util.concurrent.TimeUtil類

java.util.concurrent.TimeUtil類

TimeUnit是java.util.concurrent包下面的一個列舉類,TimeUnit提供了可讀性更好的執行緒暫停操作、不同時間之間的轉換操作。

NANOSECONDS (毫微秒, 千分之一微秒)

public static final TimeUnit NANOSECONDS MICROSECONDS (微秒, 千分之一毫秒)

public static final TimeUnit MICROSECONDS MILLISECONDS (毫秒, 千分之一秒)

public static final TimeUnit MILLISECONDS SECONDS (秒)

public static final TimeUnit SECONDS MINUTES (分鐘)

public static final TimeUnit MINUTES HOURS (小時)

public static final TimeUnit HOURS DAYS (天)

public static final TimeUnit DAYS

  •  

可以對不同的時間進行轉換:

// 1秒轉為 毫微秒 TimeUnit.SECONDS.toNanos(1L);

// 1秒轉為 微秒 TimeUnit.SECONDS.toMicros(1L);

// 1秒轉為 毫秒 TimeUnit.SECONDS.toMillis(1L);

// 100秒轉為 分鐘 TimeUnit.SECONDS.toMinutes(100L);

TimeUnit.SECONDS.toHours(100L); TimeUnit.SECONDS.toDays(100L);

//也可以利用convert()方法進行等價轉化

//從較細粒度到較粗粒度的舍位轉換,這樣會失去精確性。

例如,將 999 毫秒轉換為秒的結果為 0。 // 使用引數從較粗粒度到較細粒度轉換,如果引數為負,則在數字上溢位至 Long.MIN_VALUE, // 如果為正,則為 Long.MAX_VALUE。 // 1秒轉為 毫微秒 TimeUnit.NANOSECONDS.convert(1L,TimeUnit.SECONDS); // 1秒轉為 微秒 TimeUnit.MICROSECONDS.convert(1L,TimeUnit.SECONDS); // 1秒轉為 毫秒 TimeUnit.MILLISECONDS.convert(1L,TimeUnit.SECONDS);

//返回 列舉 陣列 TimeUnit[] timeUnits=TimeUnit.values();

//返回一個 TimeUnit //返回帶有指定名稱的該型別的列舉常量。

// 字串必須與用於宣告該型別的列舉常量的識別符號完全匹配。(不允許有多餘的空格。) TimeUnit timeUnit=TimeUnit.valueOf("SECONDS");

//物件等待超時 1秒 ,Object.wait() 方法所需格式的便捷方法。

//如果小於等於 0,則根本不會等待。

try{

TimeUnit.SECONDS.timedWait(new Object(),1L);

}catch (InterruptedException e){

}

//執行緒等待超時 1秒 ,Thread.join() 方法所需格式的便捷方法。

//如果小於等於 0,則根本不會等待。

try{

TimeUnit.SECONDS.timedJoin(new Thread(),1L);

}catch (InterruptedException e){

}

//執行緒休眠時間 1秒, Thread.sleep() 方法所需格式的便捷方法

//如果小於等於 0,則根本不會休眠。

try{

TimeUnit.SECONDS.sleep(1L);

}catch (InterruptedException e){

}