Java Thread Future nanoTime()

Here you can find the source of nanoTime()

Description

Returns the current value of the most precise available system timer, in nanoseconds.

License

Creative Commons License

Return

The current value of the system timer, in nanoseconds.

Declaration

public static long nanoTime() 

Method Source Code

//package com.java2s;
/*// ww  w . j  a  v a2  s  .  co m
 * Written by Dawid Kurzyniec, based on code written by Doug Lea with assistance
 * from members of JCP JSR-166 Expert Group. Released to the public domain,
 * as explained at http://creativecommons.org/licenses/publicdomain.
 *
 * Thanks to Craig Mattocks for suggesting to use <code>sun.misc.Perf</code>.
 */

public class Main {
    /**
     * Returns the current value of the most precise available system timer,
     * in nanoseconds. This method can only be used to measure elapsed time and
     * is not related to any other notion of system or wall-clock time. The
     * value returned represents nanoseconds since some fixed but arbitrary
     * time (perhaps in the future, so values may be negative). This method
     * provides nanosecond precision, but not necessarily nanosecond accuracy.
     * No guarantees are made about how frequently values change. Differences
     * in successive calls that span greater than approximately 292 years
     * (2^63 nanoseconds) will not accurately compute elapsed time due to
     * numerical overflow.
     * <p>
     * <em>Implementation note:</em>By default, this method uses
     * <code>sun.misc.Perf</code> on Java 1.4.2, and falls back to
     * System.currentTimeMillis() emulation on earlier JDKs. Custom
     * timer can be provided via the system property
     * <code>edu.emory.mathcs.backport.java.util.concurrent.NanoTimerProvider</code>.
     * The value of the property should name a class implementing
     * {@link NanoTimer} interface.
     * <p>
     * Note: on JDK 1.4.2, <code>sun.misc.Perf</code> timer seems to have
     * resolution of the order of 1 microsecond, measured on Linux.
     *
     * @return The current value of the system timer, in nanoseconds.
     */
    public static long nanoTime() {
        return System.nanoTime();
    }
}

Related

  1. getSilently(Future future)
  2. getSysExeNameList()
  3. getUninterruptibly(Future future)
  4. invokeTask(String threadName, Callable callable)
  5. isSuccessful(CompletableFuture f)
  6. now(Collection> s)
  7. rollback(Object tx)
  8. runIfNotDoneAndGet(RunnableFuture future)
  9. runInNewThread(String threadName, Runnable target)