- java.lang.Object
-
- java.lang.Enum<TimeUnit>
-
- java.util.concurrent.TimeUnit
-
- すべての実装されたインタフェース:
Serializable,Comparable<TimeUnit>
public enum TimeUnit extends Enum<TimeUnit>
TimeUnitは、指定された粒度単位でデュレーションを表し、単位を変換したり、それらの単位でタイミングおよび遅延操作を実行したりするユーティリティ・メソッドを提供します。TimeUnitは、時間情報を保持せず、さまざまなコンテキスト間で独立して保持される時間表現の整理および使用だけを行うことができます。 ナノ秒はマイクロ秒の1000分の1、マイクロ秒はミリ秒の1000分の1、ミリ秒は秒の1000分の1、分は60秒、時は60分、日は24時間としてそれぞれ定義されます。TimeUnitは、主に時間ベースのメソッドに対して、指定されたタイミング・パラメータの解釈方法を指示するために使用します。 たとえば、lockが使用できない場合、次のコードは50ミリ秒でタイム・アウトします。
一方、次のコードは、50秒でタイム・アウトします。Lock lock = ...; if (lock.tryLock(50L, TimeUnit.MILLISECONDS)) ...
ただし、特定のタイム・アウト実装で、指定されたLock lock = ...; if (lock.tryLock(50L, TimeUnit.SECONDS)) ...TimeUnitと同じ粒度で時間経過を通知できる保証はないことに注意してください。- 導入されたバージョン:
- 1.5
-
-
列挙型定数のサマリー
列挙型定数 列挙型定数 説明 DAYS24時間を表す時間単位HOURS60分を表す時間単位MICROSECONDSミリ秒の1000分の1を表す時間単位MILLISECONDS秒の1000分の1を表す時間単位MINUTES60秒を表す時間単位NANOSECONDSマイクロ秒の1000分の1を表す時間単位SECONDS1秒を表す時間単位
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 longconvert(long sourceDuration, TimeUnit sourceUnit)指定された単位による指定されたデュレーションを、この単位に変換します。static TimeUnitof(ChronoUnit chronoUnit)ChronoUnitを同等のTimeUnitに変換します。voidsleep(long timeout)この時間単位を使用して、Thread.sleepを実行します。voidtimedJoin(Thread thread, long timeout)この時間単位を使用して、時間指定されたThread.joinを実行します。voidtimedWait(Object obj, long timeout)この時間単位を使用して、時間指定されたObject.waitを実行します。ChronoUnittoChronoUnit()このTimeUnitを同等のChronoUnitに変換します。longtoDays(long duration)longtoHours(long duration)longtoMicros(long duration)longtoMillis(long duration)longtoMinutes(long duration)longtoNanos(long duration)longtoSeconds(long duration)static TimeUnitvalueOf(String name)指定された名前を持つ、この型の列挙型定数を返します。static TimeUnit[]values()この列挙型の定数を含む配列を、宣言されている順序で返します。
-
-
-
列挙型定数の詳細
-
NANOSECONDS
public static final TimeUnit NANOSECONDS
マイクロ秒の1000分の1を表す時間単位
-
MICROSECONDS
public static final TimeUnit MICROSECONDS
ミリ秒の1000分の1を表す時間単位
-
MILLISECONDS
public static final TimeUnit MILLISECONDS
秒の1000分の1を表す時間単位
-
SECONDS
public static final TimeUnit SECONDS
1秒を表す時間単位
-
MINUTES
public static final TimeUnit MINUTES
60秒を表す時間単位- 導入されたバージョン:
- 1.6
-
HOURS
public static final TimeUnit HOURS
60分を表す時間単位- 導入されたバージョン:
- 1.6
-
DAYS
public static final TimeUnit DAYS
24時間を表す時間単位- 導入されたバージョン:
- 1.6
-
-
メソッドの詳細
-
values
public static TimeUnit[] values()
この列挙型の定数を含む配列を、宣言されている順序で返します。 このメソッドは、次のようにして定数を反復するために使用できます。for (TimeUnit c : TimeUnit.values()) System.out.println(c);
- 戻り値:
- この列挙型の定数を含む配列(宣言されている順序)
-
valueOf
public static TimeUnit valueOf(String name)
指定された名前を持つ、この型の列挙型定数を返します。 文字列は、この型の列挙型定数を宣言するのに使用した識別子と厳密に一致している必要があります。 不適切な空白文字は許可されません。- パラメータ:
name- 返される列挙型定数の名前。- 戻り値:
- 指定された名前を持つ列挙型定数
- 例外:
IllegalArgumentException- 指定された名前を持つ定数をこの列挙型が持っていない場合NullPointerException- 引数がnullの場合
-
convert
public long convert(long sourceDuration, TimeUnit sourceUnit)指定された単位による指定されたデュレーションを、この単位に変換します。 粒度の細かいほうから粗いほうへの変換では切詰めが発生するため、精度が失われます。 たとえば、999ミリ秒を秒に変換すると0になります。 粒度の粗いほうから細かいほうへの変換で、数値的にオーバーフローが発生する引数を指定すると、負の場合はLong.MIN_VALUE、正の場合はLong.MAX_VALUEになります。たとえば、10分をミリ秒に変換するには、
TimeUnit.MILLISECONDS.convert(10L, TimeUnit.MINUTES)を使用します。- パラメータ:
sourceDuration- 指定されたsourceUnitでのデュレーションsourceUnit-sourceDuration引数の単位- 戻り値:
- この単位での変換されたデュレーション。変換が負にオーバーフローする場合は
Long.MIN_VALUE、正にオーバーフローする場合はLong.MAX_VALUE。
-
toNanos
public long toNanos(long duration)
- パラメータ:
duration- デュレーション- 戻り値:
- 変換されたデュレーション。変換が負にオーバーフローする場合は
Long.MIN_VALUE、正にオーバーフローする場合はLong.MAX_VALUE。
-
toMicros
public long toMicros(long duration)
- パラメータ:
duration- デュレーション- 戻り値:
- 変換されたデュレーション。変換が負にオーバーフローする場合は
Long.MIN_VALUE、正にオーバーフローする場合はLong.MAX_VALUE。
-
toMillis
public long toMillis(long duration)
- パラメータ:
duration- デュレーション- 戻り値:
- 変換されたデュレーション。変換が負にオーバーフローする場合は
Long.MIN_VALUE、正にオーバーフローする場合はLong.MAX_VALUE。
-
toSeconds
public long toSeconds(long duration)
- パラメータ:
duration- デュレーション- 戻り値:
- 変換されたデュレーション。変換が負にオーバーフローする場合は
Long.MIN_VALUE、正にオーバーフローする場合はLong.MAX_VALUE。
-
toMinutes
public long toMinutes(long duration)
- パラメータ:
duration- デュレーション- 戻り値:
- 変換されたデュレーション。変換が負にオーバーフローする場合は
Long.MIN_VALUE、正にオーバーフローする場合はLong.MAX_VALUE。 - 導入されたバージョン:
- 1.6
-
toHours
public long toHours(long duration)
- パラメータ:
duration- デュレーション- 戻り値:
- 変換されたデュレーション。変換が負にオーバーフローする場合は
Long.MIN_VALUE、正にオーバーフローする場合はLong.MAX_VALUE。 - 導入されたバージョン:
- 1.6
-
toDays
public long toDays(long duration)
- パラメータ:
duration- デュレーション- 戻り値:
- 変換されたデュレーション
- 導入されたバージョン:
- 1.6
-
timedWait
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- 待機中に割込みが発生した場合
-
timedJoin
public void timedJoin(Thread thread, long timeout) throws InterruptedException
この時間単位を使用して、時間指定されたThread.joinを実行します。 このメソッドは、time引数をThread.joinメソッドで要求される形式に変換する簡易メソッドです。- パラメータ:
thread- 待機するスレッドtimeout- 待機する最長時間。 ゼロまたはそれより小さい場合は待機しない。- 例外:
InterruptedException- 待機中に割込みが発生した場合
-
sleep
public void sleep(long timeout) throws InterruptedExceptionこの時間単位を使用して、Thread.sleepを実行します。 これは、time引数をThread.sleepメソッドで要求される形式に変換する簡易メソッドです。- パラメータ:
timeout- スリープする最小時間。 ゼロまたはそれより小さい場合はスリープしない。- 例外:
InterruptedException- スリープ中に割込みが発生した場合
-
toChronoUnit
public ChronoUnit toChronoUnit()
このTimeUnitを同等のChronoUnitに変換します。- 戻り値:
- 変換された同等のChronoUnit
- 導入されたバージョン:
- 9
-
of
public static TimeUnit of(ChronoUnit chronoUnit)
ChronoUnitを同等のTimeUnitに変換します。- パラメータ:
chronoUnit- 変換するChronoUnit- 戻り値:
- 変換された同等のTimeUnit
- 例外:
IllegalArgumentException-chronoUnitに相当するTimeUnitがない場合NullPointerException-chronoUnitがnullの場合- 導入されたバージョン:
- 9
-
-