| 
 | JavaTM 2 Platform Standard Ed. 5.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD | |||||||||
java.lang.Objectjava.lang.Enum<TimeUnit>
java.util.concurrent.TimeUnit
public enum 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(long duration,
        TimeUnit unit)Convert the given time duration in the given unit to this unit. | 
|  void | sleep(long timeout)Perform a Thread.sleep using this unit. | 
|  void | timedJoin(Thread thread,
          long timeout)Perform a timed Thread.join using this time unit. | 
|  void | timedWait(Object obj,
          long timeout)Perform a timed Object.wait using this time unit. | 
|  long | toMicros(long duration)Equivalent to MICROSECONDS.convert(duration, this). | 
|  long | toMillis(long duration)Equivalent to MILLISECONDS.convert(duration, this). | 
|  long | toNanos(long duration)Equivalent to NANOSECONDS.convert(duration, this). | 
|  long | toSeconds(long duration)Equivalent to SECONDS.convert(duration, this). | 
| static TimeUnit | valueOf(String name)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, compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf | 
| Methods inherited from class java.lang.Object | 
|---|
| finalize, getClass, notify, notifyAll, wait, wait, wait | 
| 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)| 
 | JavaTM 2 Platform Standard Ed. 5.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.