|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD | |||||||||
java.lang.Object![]()
![]()
![]()
java.lang.Enum
![]()
![]()
<TimeUnit
![]()
![]()
>
java.util.concurrent.TimeUnit
, Comparable
<TimeUnit
>public enum TimeUnit
<TimeUnit
>A TimeUnit represents time durations at a given unit of granularity and provides utility methods to convert across units, and to perform timing and delay operations in these units. A TimeUnit does not maintain time information, but only helps organize and use time representations that may be maintained separately across various contexts.
A TimeUnit is mainly used to inform time-based methods
how a given timing parameter should be interpreted. For example,
the following code will timeout in 50 milliseconds if the lock
is not available:
Lock lock = ...; if ( lock.tryLock(50L, TimeUnit.MILLISECONDS) ) ...while this code will timeout in 50 seconds:
Lock lock = ...; if ( lock.tryLock(50L, TimeUnit.SECONDS) ) ...Note however, that there is no guarantee that a particular timeout implementation will be able to notice the passage of time at the same granularity as the given TimeUnit.
| Enum Constant Summary | |
|---|---|
MICROSECONDS
|
|
MILLISECONDS
|
|
NANOSECONDS
|
|
SECONDS
|
|
| Method Summary | |
|---|---|
long |
convert
Convert the given time duration in the given unit to this unit. |
void |
sleep
Perform a Thread.sleep using this unit. |
void |
timedJoin
Perform a timed Thread.join using this time unit. |
void |
timedWait
Perform a timed Object.wait using this time unit. |
long |
toMicros
Equivalent to MICROSECONDS.convert(duration, this). |
long |
toMillis
Equivalent to MILLISECONDS.convert(duration, this). |
long |
toNanos
Equivalent to NANOSECONDS.convert(duration, this). |
long |
toSeconds
Equivalent to SECONDS.convert(duration, this). |
static TimeUnit |
valueOf
Returns the enum constant of this type with the specified name. |
static TimeUnit |
values
Returns an array containing the constants of this enum type, in the order they're declared. |
Methods inherited from class java.lang.Enum ![]() |
|---|
clone |
Methods inherited from class java.lang.Object ![]() |
|---|
finalize |
| Enum Constant Detail |
|---|
public static final TimeUnit![]()
![]()
NANOSECONDS
public static final TimeUnit![]()
![]()
MICROSECONDS
public static final TimeUnit![]()
![]()
MILLISECONDS
public static final TimeUnit![]()
![]()
SECONDS
| Method Detail |
|---|

public static final TimeUnit![]()
![]()
[] values()
for(TimeUnit c : TimeUnit.values())
System.out.println(c);

public static TimeUnit![]()
![]()
valueOf(String
![]()
![]()
name)
name - the name of the enum constant to be returned.
IllegalArgumentException

- if this enum type has no constant
with the specified name

public long convert(long duration,
TimeUnit
unit)
duration - the time duration in the given unitunit - the unit of the duration argument

public long toNanos(long duration)
duration - the duration
convert(long, java.util.concurrent.TimeUnit)


public long toMicros(long duration)
duration - the duration
convert(long, java.util.concurrent.TimeUnit)


public long toMillis(long duration)
duration - the duration
convert(long, java.util.concurrent.TimeUnit)


public long toSeconds(long duration)
duration - the duration
convert(long, java.util.concurrent.TimeUnit)


public void timedWait(Object![]()
![]()
obj, long timeout) throws InterruptedException
![]()
![]()
For example, you could implement a blocking poll
method (see BlockingQueue.poll
)
using:
public synchronized Object poll(long timeout, TimeUnit unit) throws InterruptedException {
while (empty) {
unit.timedWait(this, timeout);
...
}
}
obj - the object to wait ontimeout - the maximum time to wait.
InterruptedException

- if interrupted while waiting.Object.wait(long, int)


public void timedJoin(Thread![]()
![]()
thread, long timeout) throws InterruptedException
![]()
![]()
thread - the thread to wait fortimeout - the maximum time to wait
InterruptedException

- if interrupted while waiting.Thread.join(long, int)


public void sleep(long timeout)
throws InterruptedException

timeout - the minimum time to sleep
InterruptedException

- if interrupted while sleeping.Thread.sleep(long)

|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD | |||||||||