Package org.jfree.report.util
Class WorkerPool
java.lang.Object
org.jfree.report.util.WorkerPool
A simple static workpool. Worker threads are created when necessary.
- Author:
- Thomas Morgner
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new worker pool with the default size of 10 workers and the default name.WorkerPool
(int size) Creates a new workerpool with the given number of workers and the default name.WorkerPool
(int size, String namePrefix) Creates a new worker pool for the given number of workers and with the given name prefix. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Finishes all worker of this pool.Returns a workerhandle for the given workload.boolean
Checks, whether workers are available.void
workerAvailable
(Worker worker) Marks the given worker as available.void
workerFinished
(Worker worker) Marks the given worker as finished.
-
Constructor Details
-
WorkerPool
public WorkerPool()Creates a new worker pool with the default size of 10 workers and the default name. -
WorkerPool
public WorkerPool(int size) Creates a new workerpool with the given number of workers and the default name.- Parameters:
size
- the maximum number of workers available.
-
WorkerPool
Creates a new worker pool for the given number of workers and with the given name prefix.- Parameters:
size
- the size of the worker pool.namePrefix
- the name prefix for all created workers.
-
-
Method Details
-
isWorkerAvailable
public boolean isWorkerAvailable()Checks, whether workers are available.- Returns:
- true, if at least one worker is idle, false otherwise.
-
getWorkerForWorkload
Returns a workerhandle for the given workload. This method will wait until an idle worker is found.- Parameters:
r
- the workload for the worker- Returns:
- a handle to the worker.
-
workerFinished
Marks the given worker as finished. The worker will be removed from the list of the available workers.- Parameters:
worker
- the worker which was finished.
-
workerAvailable
Marks the given worker as available.- Parameters:
worker
- the worker which was available.
-
finishAll
public void finishAll()Finishes all worker of this pool.
-