org.jfree.report.util

Class WorkerPool

public class WorkerPool extends Object

A simple static workpool. Worker threads are created when necessary.

Author: Thomas Morgner

Constructor Summary
WorkerPool()
Creates 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
voidfinishAll()
Finishes all worker of this pool.
WorkerHandlegetWorkerForWorkload(Runnable r)
Returns a workerhandle for the given workload.
booleanisWorkerAvailable()
Checks, whether workers are available.
voidworkerAvailable(Worker worker)
Marks the given worker as available.
voidworkerFinished(Worker worker)
Marks the given worker as finished.

Constructor Detail

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

public WorkerPool(int size, String namePrefix)
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 Detail

finishAll

public void finishAll()
Finishes all worker of this pool.

getWorkerForWorkload

public WorkerHandle getWorkerForWorkload(Runnable r)
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.

isWorkerAvailable

public boolean isWorkerAvailable()
Checks, whether workers are available.

Returns: true, if at least one worker is idle, false otherwise.

workerAvailable

public void workerAvailable(Worker worker)
Marks the given worker as available.

Parameters: worker the worker which was available.

workerFinished

public void workerFinished(Worker worker)
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.