Class TimeLimitingCollector.TimerThread

  • All Implemented Interfaces:
    Enclosing class:

    public static final class TimeLimitingCollector.TimerThread
    extends java.lang.Thread
    Thread used to timeout search requests. Can be stopped completely with stopTimer()
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.lang.Thread

        java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
    • Field Summary

      Modifier and Type Field Description
      static int DEFAULT_RESOLUTION  
      static java.lang.String THREAD_NAME  
      • Fields inherited from class java.lang.Thread

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      long getMilliseconds()
      Get the timer value in milliseconds.
      long getResolution()
      Return the timer resolution.
      void run()  
      void setResolution​(long resolution)
      Set the timer resolution.
      void stopTimer()
      Stops the timer thread
      • Methods inherited from class java.lang.Thread

        activeCount, checkAccess, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • TimerThread

        public TimerThread​(long resolution,
                           Counter counter)
      • TimerThread

        public TimerThread​(Counter counter)
    • Method Detail

      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
        run in class java.lang.Thread
      • getMilliseconds

        public long getMilliseconds()
        Get the timer value in milliseconds.
      • stopTimer

        public void stopTimer()
        Stops the timer thread
      • getResolution

        public long getResolution()
        Return the timer resolution.
        See Also:
      • setResolution

        public void setResolution​(long resolution)
        Set the timer resolution. The default timer resolution is 20 milliseconds. This means that a search required to take no longer than 800 milliseconds may be stopped after 780 to 820 milliseconds.
        Note that:
        • Finer (smaller) resolution is more accurate but less efficient.
        • Setting resolution to less than 5 milliseconds will be silently modified to 5 milliseconds.
        • Setting resolution smaller than current resolution might take effect only after current resolution. (Assume current resolution of 20 milliseconds is modified to 5 milliseconds, then it can take up to 20 milliseconds for the change to have effect.