Class SystemClock

  • All Implemented Interfaces:
    Clock

    public class SystemClock
    extends java.lang.Object
    implements Clock
    Since:
    4.3
    Author:
    Scott Fines
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static Clock INSTANCE  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      long currentTimeMillis()  
      long currentTimeNanos()  
      long sleep​(long time, java.util.concurrent.TimeUnit unit)
      Put the current thread to sleep for the time specified.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • INSTANCE

        public static final Clock INSTANCE
    • Method Detail

      • sleep

        public long sleep​(long time,
                          java.util.concurrent.TimeUnit unit)
                   throws java.lang.InterruptedException
        Description copied from interface: Clock
        Put the current thread to sleep for the time specified. Note that this may return before the time specified has expired (i.e. the thread may wake spuriously). This is why we return how much time is remaining, in the units specified.
        Specified by:
        sleep in interface Clock
        Parameters:
        time - the amount of time to sleep for.
        unit - the unit time is measured in.
        Returns:
        the amount of time left in the wait period (i.e. time-timeSlept).
        Throws:
        java.lang.InterruptedException - if the thread is interrupted during sleep.