|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | 列挙型定数 | フィールド | メソッド | 詳細: 列挙型定数 | フィールド | メソッド |
java.lang.Object java.lang.Enum<TimeUnit> java.util.concurrent.TimeUnit
public enum TimeUnit
TimeUnit は、指定された粒度単位で時間を表し、単位を変換したり、それらの単位でタイミングおよび遅延操作を実行したりするユーティリティーメソッドを提供します。TimeUnit は、時間情報を保持せず、さまざまなコンテキスト間で独立して保持される時間表現の整理および使用だけを行うことができます。ナノ秒はマイクロ秒の 1000 分の 1、マイクロ秒はミリ秒の 1000 分の 1、ミリ秒は秒の 1000 分の 1、分は 60 秒、時は 60 分、日は 24 時間としてそれぞれ定義されます。
TimeUnit は、主に時間ベースのメソッドに対して、指定されたタイミングパラメータの解釈方法を指示するために使用します。たとえば次のコードは、ロック
を利用できない場合、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()
この列挙型の定数を含む配列を宣言されている順序で返します。 |
クラス 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 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
たとえば次のようにして、ブロックする poll メソッドを実装できます (BlockingQueue.poll
を参照)。
public synchronized Object poll(long timeout, TimeUnit unit) throws InterruptedException { while (empty) { unit.timedWait(this, timeout); ... } }
obj
- 待機するオブジェクトtimeout
- 待機する最長時間。ゼロまたはそれより小さい場合は待機しない
InterruptedException
- 待機中に割り込みが発生した場合Object.wait(long, int)
public void timedJoin(Thread thread, long timeout) throws InterruptedException
thread
- 待機するスレッドtimeout
- 待機する最長時間。ゼロまたはそれより小さい場合は待機しない
InterruptedException
- 待機中に割り込みが発生した場合Thread.join(long, int)
public void sleep(long timeout) throws InterruptedException
timeout
- スリープする最小時間。ゼロまたはそれより小さい場合はスリープしない
InterruptedException
- スリープ中に割り込みが発生した場合Thread.sleep(long)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | 列挙型定数 | フィールド | メソッド | 詳細: 列挙型定数 | フィールド | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。