Interface ThreadPoolProvider
public interface ThreadPoolProvider
-
Method Summary
Modifier and TypeMethodDescriptionboolean
newFixedThreadPool
(int threads, String threadNamePrefix) Creates a new fixed sizeThreadPoolExecutor
.newFixedThreadPool
(int threads, String threadNamePrefix, int queueSize) Creates a new fixed sizeThreadPoolExecutor
.newScheduledExecutor
(int threads, String threadNamePrefix) Creates a new fixed sizeScheduledExecutorService
.
-
Method Details
-
threadProvider
ThreadProvider threadProvider()- Returns:
- The underlying thread provider.
-
newFixedThreadPool
Creates a new fixed sizeThreadPoolExecutor
.It's using a blocking queue of maximum 1000 elements and the rejection policy is set to block until the queue can accept the task. These settings are required to cap the queue, to make sure the timeouts are reasonable for most jobs.
- Parameters:
threads
- the number of threadsthreadNamePrefix
- a label to identify the threads; useful for profiling.- Returns:
- the new ExecutorService
-
newFixedThreadPool
Creates a new fixed sizeThreadPoolExecutor
.It's using a blocking queue of maximum
queueSize
elements and the rejection policy is set to block until the queue can accept the task. These settings are required to cap the queue, to make sure the timeouts are reasonable for most jobs.- Parameters:
threads
- the number of threadsthreadNamePrefix
- a label to identify the threads; useful for profiling.queueSize
- the size of the queue to store Runnables when all threads are busy- Returns:
- the new ExecutorService
-
newScheduledExecutor
Creates a new fixed sizeScheduledExecutorService
.The queue size is not capped, so users should take care of checking they submit a reasonable amount of tasks.
- Parameters:
threads
- the number of threadsthreadNamePrefix
- a label to identify the threads; useful for profiling.- Returns:
- the new ExecutorService
-
isScheduledExecutorBlocking
boolean isScheduledExecutorBlocking()- Returns:
true
if the executors returned bynewScheduledExecutor(int, java.lang.String)
may block when submitting a task;false
if they never block (e.g. they throw anRejectedExecutionException
).
-