Package org.simpleframework.util.thread
Class PoolExecutor
java.lang.Object
org.simpleframework.util.thread.PoolExecutor
- All Implemented Interfaces:
Executor
The
PoolExecutor
object is used to execute tasks in
a thread pool. This creates a thread pool with an unbounded list
of outstanding tasks, which ensures that any system requesting
a task to be executed will not block when handing it over.- Author:
- Niall Gallagher
-
Constructor Summary
ConstructorsConstructorDescriptionPoolExecutor
(Class<? extends Runnable> type) Constructor for thePoolExecutor
object.PoolExecutor
(Class<? extends Runnable> type, int size) Constructor for thePoolExecutor
object.PoolExecutor
(Class<? extends Runnable> type, int rest, int active) Constructor for thePoolExecutor
object. -
Method Summary
-
Constructor Details
-
PoolExecutor
Constructor for thePoolExecutor
object. This is used to create a pool of threads that can be used to execute arbitraryRunnable
tasks. If the threads are busy this will simply enqueue the tasks and return.- Parameters:
type
- this is the type of runnable that this accepts
-
PoolExecutor
Constructor for thePoolExecutor
object. This is used to create a pool of threads that can be used to execute arbitraryRunnable
tasks. If the threads are busy this will simply enqueue the tasks and return.- Parameters:
type
- this is the type of runnable that this acceptssize
- this is the number of threads to use in the pool
-
PoolExecutor
Constructor for thePoolExecutor
object. This is used to create a pool of threads that can be used to execute arbitraryRunnable
tasks. If the threads are busy this will simply enqueue the tasks and return.- Parameters:
type
- this is the type of runnable that this acceptsrest
- this is the number of threads to use in the poolactive
- this is the maximum size the pool can grow to
-
-
Method Details
-
execute
Theexecute
method is used to queue the task for execution. If all threads are busy the provided task is queued and waits until all current and outstanding tasks are finished. -
stop
public void stop()This is used to stop the executor by interrupting all running tasks and shutting down the threads within the pool. This will return once it has been stopped, and no further tasks will be accepted by this pool for execution.
-