public interface ThreadPool
The interface to be implemented by classes that want to provide a thread pool for the 's use.
QuartzScheduler
ThreadPool implementation instances should ideally be made for the sole use of Quartz. Most importantly, when the method
blockForAvailableThreads() returns a value of 1 or greater, there must still be at least one available thread in the pool when the
method runInThread(Runnable) is called a few moments (or many moments) later. If this assumption does not hold true, it may result in
extra JobStore queries and updates, and if clustering features are being used, it may result in greater imballance of load.
QuartzScheduler| Modifier and Type | Method and Description |
|---|---|
int |
blockForAvailableThreads()
Determines the number of threads that are currently available in in the pool.
|
int |
getPoolSize()
Get the current number of threads in the
ThreadPool. |
void |
initialize()
Must be called before the
ThreadPool is used, in order to give the it a chance to initialize. |
boolean |
runInThread(Runnable runnable)
Execute the given
in the next available Thread. |
void |
shutdown(boolean waitForJobsToComplete)
Called by the QuartzScheduler to inform the
ThreadPool that it should free up all of it's resources because the scheduler is
shutting down. |
boolean runInThread(Runnable runnable)
Execute the given in the next available RunnableThread.
The implementation of this interface should not throw exceptions unless there is a serious problem (i.e. a serious misconfiguration). If there
are no immediately available threads false should be returned.
int blockForAvailableThreads()
Determines the number of threads that are currently available in in the pool. Useful for determining the number of times
runInThread(Runnable) can be called before returning false.
The implementation of this method should block until there is at least one available thread.
void initialize()
throws SchedulerConfigException
Must be called before the ThreadPool is used, in order to give the it a chance to initialize.
Typically called by the SchedulerFactory.
SchedulerConfigExceptionvoid shutdown(boolean waitForJobsToComplete)
Called by the QuartzScheduler to inform the ThreadPool that it should free up all of it's resources because the scheduler is
shutting down.
int getPoolSize()
Get the current number of threads in the ThreadPool.
Copyright © 2011–2017 Knowm Inc.. All rights reserved.