Package com.mchange.v1.lang
Class GentleThread
java.lang.Object
java.lang.Thread
com.mchange.v1.lang.GentleThread
- All Implemented Interfaces:
Runnable
an abstract Thread class that provides
utilities for easily defining Threads with
safe versions of the deprecated thread
methods stop(), resume(), and start()
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
-
Field Summary
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
tests whether the thread should suspend, and causes to the thread to pause if appropriate.void
a safe method for resuming properly implemented GentleThreadsvoid
a safe method for stopping properly implemented GentleThreadsvoid
a safe method for suspending properly implemented GentleThreadsabstract void
run()
protected boolean
tests whether the thread should stop.protected boolean
tests whether the thread should suspend.Methods 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
-
Constructor Details
-
GentleThread
public GentleThread() -
GentleThread
-
-
Method Details
-
run
public abstract void run() -
gentleStop
public void gentleStop()a safe method for stopping properly implemented GentleThreads -
gentleSuspend
public void gentleSuspend()a safe method for suspending properly implemented GentleThreads -
gentleResume
public void gentleResume()a safe method for resuming properly implemented GentleThreads -
shouldStop
protected boolean shouldStop()tests whether the thread should stop. Subclasses should call this method periodically in their run method, and return from run() is the method returns true. -
shouldSuspend
protected boolean shouldSuspend()tests whether the thread should suspend. Subclasses rarely call this method directly, and should call allowSuspend() periodically instead.- See Also:
-
allowSuspend
tests whether the thread should suspend, and causes to the thread to pause if appropriate. Subclasses should call this method periodically in their run method to, um, allow suspension. Threads paused by allowSuspend() will be properly awoken by gentleResume()- Throws:
InterruptedException
- See Also:
-