| java.lang.Object | ||
| ↳ | java.lang.Enum <E extends java.lang.Enum <E>> | |
| ↳ | java.util.concurrent.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 nanosecond is defined as one
 thousandth of a microsecond, a microsecond as one thousandth of a
 millisecond, a millisecond as one thousandth of a second, a minute
 as sixty seconds, an hour as sixty minutes, and a day as twenty four
 hours.
      
       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 Values | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| TimeUnit | DAYS | ||||||||||
| TimeUnit | HOURS | ||||||||||
| TimeUnit | MICROSECONDS | ||||||||||
| TimeUnit | MILLISECONDS | ||||||||||
| TimeUnit | MINUTES | ||||||||||
| TimeUnit | NANOSECONDS | ||||||||||
| TimeUnit | SECONDS | ||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|  | 
           Convert the given time duration in the given unit to this
 unit.
           | ||||||||||
|  | 
           Performs a
            
            
             Thread.sleep
            
           using
 this time unit. | ||||||||||
|  | 
           Performs a timed
            
            
             Thread.join
            
           using this time unit. | ||||||||||
|  | 
           Performs a timed
            
            
             Object.wait
            
           using this time unit. | ||||||||||
|  | 
           Equivalent to
            
            DAYS.convert(duration, this)
           . | ||||||||||
|  | 
           Equivalent to
            
            HOURS.convert(duration, this)
           . | ||||||||||
|  | 
           Equivalent to
            
            MICROSECONDS.convert(duration, this)
           . | ||||||||||
|  | 
           Equivalent to
            
            MILLISECONDS.convert(duration, this)
           . | ||||||||||
|  | 
           Equivalent to
            
            MINUTES.convert(duration, this)
           . | ||||||||||
|  | 
           Equivalent to
            
            NANOSECONDS.convert(duration, this)
           . | ||||||||||
|  | 
           Equivalent to
            
            SECONDS.convert(duration, this)
           . | ||||||||||
|  |  | ||||||||||
|  |  | ||||||||||
| [Expand] 
           Inherited Methods
           | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|  From class
          
           java.lang.Enum | |||||||||||
|  From class
          
           java.lang.Object | |||||||||||
|  From interface
          
           java.lang.Comparable | |||||||||||
         Convert the given time duration in the given unit to this
 unit.  Conversions from finer to coarser granularities
 truncate, so lose precision. For example converting
         
          999
         
         milliseconds to seconds results in
         
          0
         
         . Conversions from coarser to finer granularities
 with arguments that would numerically overflow saturate to
         
          Long.MIN_VALUE
         
         if negative or
         
          Long.MAX_VALUE
         
         if positive.
        
         For example, to convert 10 minutes to milliseconds, use:
         
          TimeUnit.MILLISECONDS.convert(10L, TimeUnit.MINUTES)
         
        
| sourceDuration | the time duration in the given 
            sourceUnit
            | 
|---|---|
| sourceUnit | the unit of the 
            sourceDuration
           argument | 
           Long.MIN_VALUE
          
          if conversion would negatively
 overflow, or
          
           Long.MAX_VALUE
          
          if it would positively overflow.
         
         Performs a
         
          
           Thread.sleep
          
         
         using
 this time unit.
 This is a convenience method that converts time arguments into the
 form required by the
         
          Thread.sleep
         
         method.
        
| timeout | the minimum time to sleep. If less than or equal to zero, do not sleep at all. | 
|---|
| InterruptedException | if interrupted while sleeping | 
|---|
         Performs a timed
         
          
           Thread.join
          
         
         using this time unit.
 This is a convenience method that converts time arguments into the
 form required by the
         
          Thread.join
         
         method.
        
| thread | the thread to wait for | 
|---|---|
| timeout | the maximum time to wait. If less than or equal to zero, do not wait at all. | 
| InterruptedException | if interrupted while waiting | 
|---|
         Performs a timed
         
          
           Object.wait
          
         
         using this time unit.
 This is a convenience method that converts timeout arguments
 into the form required by the
         
          Object.wait
         
         method.
        
         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 on | 
|---|---|
| timeout | the maximum time to wait. If less than or equal to zero, do not wait at all. | 
| InterruptedException | if interrupted while waiting | 
|---|
         Equivalent to
         
          DAYS.convert(duration, this)
         
         .
        
| duration | the duration | 
|---|
         Equivalent to
         
          HOURS.convert(duration, this)
         
         .
        
| duration | the duration | 
|---|
           Long.MIN_VALUE
          
          if conversion would negatively
 overflow, or
          
           Long.MAX_VALUE
          
          if it would positively overflow.
         
         Equivalent to
         
          MICROSECONDS.convert(duration, this)
         
         .
        
| duration | the duration | 
|---|
           Long.MIN_VALUE
          
          if conversion would negatively
 overflow, or
          
           Long.MAX_VALUE
          
          if it would positively overflow.
         
         Equivalent to
         
          MILLISECONDS.convert(duration, this)
         
         .
        
| duration | the duration | 
|---|
           Long.MIN_VALUE
          
          if conversion would negatively
 overflow, or
          
           Long.MAX_VALUE
          
          if it would positively overflow.
         
         Equivalent to
         
          MINUTES.convert(duration, this)
         
         .
        
| duration | the duration | 
|---|
           Long.MIN_VALUE
          
          if conversion would negatively
 overflow, or
          
           Long.MAX_VALUE
          
          if it would positively overflow.
         
         Equivalent to
         
          NANOSECONDS.convert(duration, this)
         
         .
        
| duration | the duration | 
|---|
           Long.MIN_VALUE
          
          if conversion would negatively
 overflow, or
          
           Long.MAX_VALUE
          
          if it would positively overflow.
         
         Equivalent to
         
          SECONDS.convert(duration, this)
         
         .
        
| duration | the duration | 
|---|
           Long.MIN_VALUE
          
          if conversion would negatively
 overflow, or
          
           Long.MAX_VALUE
          
          if it would positively overflow.