Package org.apache.lucene.search
Class TimeLimitingCollector.TimerThread
java.lang.Object
java.lang.Thread
org.apache.lucene.search.TimeLimitingCollector.TimerThread
- All Implemented Interfaces:
Runnable
- Enclosing class:
- TimeLimitingCollector
Thread used to timeout search requests. Can be stopped completely with
stopTimer()
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
-
Field Summary
FieldsFields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlong
Get the timer value in milliseconds.long
Return the timer resolution.void
run()
void
setResolution
(long resolution) Set the timer resolution.void
Stops the timer threadMethods inherited from class java.lang.Thread
activeCount, checkAccess, clone, 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
-
Field Details
-
THREAD_NAME
- See Also:
-
DEFAULT_RESOLUTION
public static final int DEFAULT_RESOLUTION- See Also:
-
-
Constructor Details
-
TimerThread
-
TimerThread
-
-
Method Details
-
run
public void run() -
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.
-