scala.actors.threadpool.helpers.NanoTimer Maven / Gradle / Ivy
/*
* Written by Dawid Kurzyniec and released to the public domain, as explained
* at http://creativecommons.org/licenses/publicdomain
*/
package scala.actors.threadpool.helpers;
/**
* Interface to specify custom implementation of precise timer.
*
* @author Dawid Kurzyniec
* @version 1.0
*/
public interface NanoTimer {
/**
* 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
* (263 nanoseconds) will not accurately compute elapsed time due to
* numerical overflow.
*
* @return The current value of the system timer, in nanoseconds.
*/
long nanoTime();
}