Java Doc for TimeUnit.java in  » 6.0-JDK-Core » Collections-Jar-Zip-Logging-regex » java » util » concurrent » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Home
Java Source Code / Java Documentation
1.6.0 JDK Core
2.6.0 JDK Modules
3.6.0 JDK Modules com.sun
4.6.0 JDK Modules com.sun.java
5.6.0 JDK Modules sun
6.6.0 JDK Platform
7.Ajax
8.Apache Harmony Java SE
9.Aspect oriented
10.Authentication Authorization
11.Blogger System
12.Build
13.Byte Code
14.Cache
15.Chart
16.Chat
17.Code Analyzer
18.Collaboration
19.Content Management System
20.Database Client
21.Database DBMS
22.Database JDBC Connection Pool
23.Database ORM
24.Development
25.EJB Server
26.ERP CRM Financial
27.ESB
28.Forum
29.Game
30.GIS
31.Graphic 3D
32.Graphic Library
33.Groupware
34.HTML Parser
35.IDE
36.IDE Eclipse
37.IDE Netbeans
38.Installer
39.Internationalization Localization
40.Inversion of Control
41.Issue Tracking
42.J2EE
43.J2ME
44.JBoss
45.JMS
46.JMX
47.Library
48.Mail Clients
49.Music
50.Net
51.Parser
52.PDF
53.Portal
54.Profiler
55.Project Management
56.Report
57.RSS RDF
58.Rule Engine
59.Science
60.Scripting
61.Search Engine
62.Security
63.Sevlet Container
64.Source Control
65.Swing Library
66.Template Engine
67.Test Coverage
68.Testing
69.UML
70.Web Crawler
71.Web Framework
72.Web Mail
73.Web Server
74.Web Services
75.Web Services apache cxf 2.2.6
76.Web Services AXIS2
77.Wiki Engine
78.Workflow Engines
79.XML
80.XML UI
Java Source Code / Java Documentation » 6.0 JDK Core » Collections Jar Zip Logging regex » java.util.concurrent 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.util.concurrent.TimeUnit

TimeUnit
public enum TimeUnit (Code)
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 java.util.concurrent.locks.Lock 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.
since:
   1.5
author:
   Doug Lea


Field Summary
final static  longC0
    
final static  longC1
    
final static  longC2
    
final static  longC3
    
final static  longC4
    
final static  longC5
    
final static  longC6
    
 Enum ConstantDAYS
    
 Enum ConstantHOURS
    
final static  longMAX
    
 Enum ConstantMICROSECONDS
    
 Enum ConstantMILLISECONDS
    
 Enum ConstantMINUTES
    
 Enum ConstantNANOSECONDS
    
 Enum ConstantSECONDS
    


Method Summary
public  longconvert(long sourceDuration, TimeUnit sourceUnit)
     Convert the given time duration in the given unit to this unit.
abstract  intexcessNanos(long d, long m)
     Utility to compute the excess-nanosecond argument to wait, sleep, join.
public  voidsleep(long timeout)
     Performs a Thread.sleep using this unit. This is a convenience method that converts time arguments into the form required by the Thread.sleep method.
Parameters:
  timeout - the minimum time to sleep.
public  voidtimedJoin(Thread thread, long timeout)
     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.
Parameters:
  thread - the thread to wait for
Parameters:
  timeout - the maximum time to wait.
public  voidtimedWait(Object obj, long timeout)
     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 BlockingQueue.poll ) using:

  public synchronized Object poll(long timeout, TimeUnit unit) throws InterruptedException {
 while (empty) {
 unit.timedWait(this, timeout);
 ...
 }
 }

Parameters:
  obj - the object to wait on
Parameters:
  timeout - the maximum time to wait.
public  longtoDays(long duration)
     Equivalent to DAYS.convert(duration, this).
public  longtoHours(long duration)
     Equivalent to HOURS.convert(duration, this).
public  longtoMicros(long duration)
     Equivalent to MICROSECONDS.convert(duration, this).
public  longtoMillis(long duration)
     Equivalent to MILLISECONDS.convert(duration, this).
public  longtoMinutes(long duration)
     Equivalent to MINUTES.convert(duration, this).
public  longtoNanos(long duration)
     Equivalent to NANOSECONDS.convert(duration, this).
public  longtoSeconds(long duration)
     Equivalent to SECONDS.convert(duration, this).
static  longx(long d, long m, long over)
     Scale d by m, checking for overflow.

Field Detail
C0
final static long C0(Code)



C1
final static long C1(Code)



C2
final static long C2(Code)



C3
final static long C3(Code)



C4
final static long C4(Code)



C5
final static long C5(Code)



C6
final static long C6(Code)



DAYS
Enum Constant DAYS(Code)



HOURS
Enum Constant HOURS(Code)



MAX
final static long MAX(Code)



MICROSECONDS
Enum Constant MICROSECONDS(Code)



MILLISECONDS
Enum Constant MILLISECONDS(Code)



MINUTES
Enum Constant MINUTES(Code)



NANOSECONDS
Enum Constant NANOSECONDS(Code)



SECONDS
Enum Constant SECONDS(Code)





Method Detail
convert
public long convert(long sourceDuration, TimeUnit sourceUnit)(Code)
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)
Parameters:
  sourceDuration - the time duration in the given sourceUnit
Parameters:
  sourceUnit - the unit of the sourceDuration argument the converted duration in this unit,or Long.MIN_VALUE if conversion would negativelyoverflow, or Long.MAX_VALUE if it would positively overflow.




excessNanos
abstract int excessNanos(long d, long m)(Code)
Utility to compute the excess-nanosecond argument to wait, sleep, join.
Parameters:
  d - the duration
Parameters:
  m - the number of milliseconds the number of nanoseconds



sleep
public void sleep(long timeout) throws InterruptedException(Code)
Performs a Thread.sleep using this unit. This is a convenience method that converts time arguments into the form required by the Thread.sleep method.
Parameters:
  timeout - the minimum time to sleep. If less thanor equal to zero, do not sleep at all.
throws:
  InterruptedException - if interrupted while sleeping.
See Also:   Thread.sleep



timedJoin
public void timedJoin(Thread thread, long timeout) throws InterruptedException(Code)
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.
Parameters:
  thread - the thread to wait for
Parameters:
  timeout - the maximum time to wait. If less thanor equal to zero, do not wait at all.
throws:
  InterruptedException - if interrupted while waiting.
See Also:   Thread.join(longint)



timedWait
public void timedWait(Object obj, long timeout) throws InterruptedException(Code)
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 BlockingQueue.poll ) using:

  public synchronized Object poll(long timeout, TimeUnit unit) throws InterruptedException {
 while (empty) {
 unit.timedWait(this, timeout);
 ...
 }
 }

Parameters:
  obj - the object to wait on
Parameters:
  timeout - the maximum time to wait. If less thanor equal to zero, do not wait at all.
throws:
  InterruptedException - if interrupted while waiting.
See Also:   Object.wait(longint)



toDays
public long toDays(long duration)(Code)
Equivalent to DAYS.convert(duration, this).
Parameters:
  duration - the duration the converted duration
See Also:   TimeUnit.convert
since:
   1.6



toHours
public long toHours(long duration)(Code)
Equivalent to HOURS.convert(duration, this).
Parameters:
  duration - the duration the converted duration,or Long.MIN_VALUE if conversion would negativelyoverflow, or Long.MAX_VALUE if it would positively overflow.
See Also:   TimeUnit.convert
since:
   1.6



toMicros
public long toMicros(long duration)(Code)
Equivalent to MICROSECONDS.convert(duration, this).
Parameters:
  duration - the duration the converted duration,or Long.MIN_VALUE if conversion would negativelyoverflow, or Long.MAX_VALUE if it would positively overflow.
See Also:   TimeUnit.convert



toMillis
public long toMillis(long duration)(Code)
Equivalent to MILLISECONDS.convert(duration, this).
Parameters:
  duration - the duration the converted duration,or Long.MIN_VALUE if conversion would negativelyoverflow, or Long.MAX_VALUE if it would positively overflow.
See Also:   TimeUnit.convert



toMinutes
public long toMinutes(long duration)(Code)
Equivalent to MINUTES.convert(duration, this).
Parameters:
  duration - the duration the converted duration,or Long.MIN_VALUE if conversion would negativelyoverflow, or Long.MAX_VALUE if it would positively overflow.
See Also:   TimeUnit.convert
since:
   1.6



toNanos
public long toNanos(long duration)(Code)
Equivalent to NANOSECONDS.convert(duration, this).
Parameters:
  duration - the duration the converted duration,or Long.MIN_VALUE if conversion would negativelyoverflow, or Long.MAX_VALUE if it would positively overflow.
See Also:   TimeUnit.convert



toSeconds
public long toSeconds(long duration)(Code)
Equivalent to SECONDS.convert(duration, this).
Parameters:
  duration - the duration the converted duration,or Long.MIN_VALUE if conversion would negativelyoverflow, or Long.MAX_VALUE if it would positively overflow.
See Also:   TimeUnit.convert



x
static long x(long d, long m, long over)(Code)
Scale d by m, checking for overflow. This has a short name to make above code more readable.



www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.