|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 列舉常數 | 欄位 | 方法 | 詳細資訊: 列舉常數 | 欄位 | 方法 |
java.lang.Object java.lang.Enum<TimeUnit> java.util.concurrent.TimeUnit
public 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 相同的粒度通知 段。
列舉常數摘要 | |
---|---|
DAYS
|
|
HOURS
|
|
MICROSECONDS
|
|
MILLISECONDS
|
|
MINUTES
|
|
NANOSECONDS
|
|
SECONDS
|
方法摘要 | |
---|---|
long |
convert(long sourceDuration,
TimeUnit sourceUnit)
將給定單元的時間段轉換到此單元。 |
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 |
toDays(long duration)
等效於 DAYS.convert(duration, this)。 |
long |
toHours(long duration)
等效於 HOURS.convert(duration, this)。 |
long |
toMicros(long duration)
等效於 MICROSECONDS.convert(duration, this)。 |
long |
toMillis(long duration)
等效於 MILLISECONDS.convert(duration, this)。 |
long |
toMinutes(long duration)
等效於 MINUTES.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()
Returns an array containing the constants of this enum type, in the order they are declared. |
從類別 java.lang.Enum 繼承的方法 |
---|
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf |
從類別 java.lang.Object 繼承的方法 |
---|
getClass, notify, notifyAll, wait, wait, wait |
列舉常數詳細資訊 |
---|
public static final TimeUnit NANOSECONDS
public static final TimeUnit MICROSECONDS
public static final TimeUnit MILLISECONDS
public static final TimeUnit SECONDS
public static final TimeUnit MINUTES
public static final TimeUnit HOURS
public static final TimeUnit DAYS
方法詳細資訊 |
---|
public static final TimeUnit[] values()
for(TimeUnit c : TimeUnit.values()) System.out.println(c);
public static TimeUnit valueOf(String name)
指定要返回的列舉常數的名稱。
-
如果該列舉型別沒有帶有指定名稱的常數,
- 則拋出 IllegalArgumentExceptionpublic long convert(long sourceDuration, TimeUnit sourceUnit)
例如,要將 10 分鐘轉換為毫秒,請使用:TimeUnit.MILLISECONDS.convert(10L, TimeUnit.MINUTES)
sourceDuration
- 給定 sourceUnit 中的時間段sourceUnit
- sourceDuration 參數的單元
public long toNanos(long duration)
duration
- 時間段
convert(long, java.util.concurrent.TimeUnit)
public long toMicros(long duration)
duration
- 時間段
convert(long, java.util.concurrent.TimeUnit)
public long toMillis(long duration)
duration
- 時間段
convert(long, java.util.concurrent.TimeUnit)
public long toSeconds(long duration)
duration
- 時間段
convert(long, java.util.concurrent.TimeUnit)
public long toMinutes(long duration)
duration
- 時間段
convert(long, java.util.concurrent.TimeUnit)
public long toHours(long duration)
duration
- 時間段
convert(long, java.util.concurrent.TimeUnit)
public long toDays(long duration)
duration
- 時間段
convert(long, java.util.concurrent.TimeUnit)
public void timedWait(Object obj, long timeout) throws InterruptedException
例如,可以使用以下程式碼實作阻塞 poll 方法(參見 BlockingQueue.poll
):
public synchronized Object poll(long timeout, TimeUnit unit) throws InterruptedException { while (empty) { unit.timedWait(this, timeout); ... } }
obj
- 要等待的物件timeout
- 要等待的最長時間。如果小於等於 0,則根本不會等待。
InterruptedException
- 如果等待時中斷。Object.wait(long, int)
public void timedJoin(Thread thread, long timeout) throws InterruptedException
thread
- 要等待的執行緒timeout
- 要等待的最長時間。如果小於等於 0,則根本不會等待。
InterruptedException
- 如果等待時中斷。Thread.join(long, int)
public void sleep(long timeout) throws InterruptedException
timeout
- 休眠的最短時間。如果小於等於 0,則根本不會休眠。
InterruptedException
- 如果休眠時中斷。Thread.sleep(long)
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 列舉常數 | 欄位 | 方法 | 詳細資訊: 列舉常數 | 欄位 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。