Package org.jfree.report.util
Class Worker
java.lang.Object
java.lang.Thread
org.jfree.report.util.Worker
- All Implemented Interfaces:
Runnable
A simple worker implementation. The worker executes a assigned workload and then sleeps
until another workload is set or the worker is killed.
- Author:
- Thomas Morgner
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler
-
Field Summary
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
finish()
Kills the worker after he completed his work.Returns the worker's assigned pool.Returns the workload object.boolean
Checks, whether this worker has some work to do.boolean
isFinish()
Checks whether this worker has received the signal to finish and die.void
run()
If a workload is set, process it.void
setWorkerPool
(WorkerPool workerPool) Defines the worker's assigned pool.void
Set the next workload for this worker.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, isVirtual, join, join, join, join, ofPlatform, ofVirtual, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, sleep, start, startVirtualThread, stop, suspend, threadId, toString, yield
-
Constructor Details
-
Worker
public Worker()Creates a new worker.
-
-
Method Details
-
setWorkload
Set the next workload for this worker.- Parameters:
r
- the next workload for the worker.- Throws:
IllegalStateException
- if the worker is not idle.
-
getWorkload
Returns the workload object.- Returns:
- the runnable executed by this worker thread.
-
finish
public void finish()Kills the worker after he completed his work. Awakens the worker if he's sleeping, so that the worker dies without delay. -
isAvailable
public boolean isAvailable()Checks, whether this worker has some work to do.- Returns:
- true, if this worker has no more work and is currently sleeping.
-
run
public void run()If a workload is set, process it. After the workload is processed, this worker starts to sleep until a new workload is set for the worker or the worker got the finish() request. -
isFinish
public boolean isFinish()Checks whether this worker has received the signal to finish and die.- Returns:
- true, if the worker should finish the work and end the thread.
-
getWorkerPool
Returns the worker's assigned pool.- Returns:
- the worker pool (or null, if the worker is not assigned to a pool).
-
setWorkerPool
Defines the worker's assigned pool.- Parameters:
workerPool
- the worker pool (or null, if the worker is not assigned to a pool).
-