public enum TimeUnit extends Enum<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 を実行します。 |
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()
この列挙型の定数を含む配列を、宣言されている順序で返します。
|
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 TimeUnit[] values()
for (TimeUnit c : TimeUnit.values()) System.out.println(c);
public static TimeUnit valueOf(String name)
name
- 返される列挙型定数の名前。IllegalArgumentException
- 指定された名前を持つ定数をこの列挙型が持っていない場合NullPointerException
- 引数が null の場合public 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
Object.wait
を実行します。このメソッドは、timeout 引数を Object.wait メソッドで要求される形式に変換する簡易メソッドです。
たとえば、次を使用して、ブロックする poll メソッドを実装できます (BlockingQueue.poll
を参照) 。
public synchronized Object poll(long timeout, TimeUnit unit)
throws InterruptedException {
while (empty) {
unit.timedWait(this, timeout);
...
}
}
obj
- 待機するオブジェクトtimeout
- 待機する最長時間。ゼロまたはそれより小さい場合は待機しない。InterruptedException
- 待機中に割り込みが発生した場合public void timedJoin(Thread thread, long timeout) throws InterruptedException
Thread.join
を実行します。このメソッドは、time 引数を Thread.join メソッドで要求される形式に変換する簡易メソッドです。thread
- 待機するスレッドtimeout
- 待機する最長時間。ゼロまたはそれより小さい場合は待機しない。InterruptedException
- 待機中に割り込みが発生した場合public void sleep(long timeout) throws InterruptedException
Thread.sleep
を実行します。これは、time 引数を Thread.sleep メソッドで要求される形式に変換する簡易メソッドです。timeout
- スリープする最小時間。ゼロまたはそれより小さい場合はスリープしない。InterruptedException
- スリープ中に割り込みが発生した場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.