Interface ThreadPoolExecutor.RejectedExecutionHandler
- All Known Implementing Classes:
ThreadPoolExecutor.AbortPolicy, ThreadPoolExecutor.CallerRunsPolicy, ThreadPoolExecutor.DiscardOldestPolicy, ThreadPoolExecutor.DiscardPolicy
- Enclosing class:
ThreadPoolExecutor
public static interface ThreadPoolExecutor.RejectedExecutionHandler
Handler for tasks that cannot be executed by the thread pool.
-
Method Summary
Modifier and TypeMethodDescriptionvoidrejectedExecution(Runnable r, ThreadPoolExecutor executor) Method that may be invoked by aThreadPoolExecutorwhenexecutecannot accept a task.
-
Method Details
-
rejectedExecution
Method that may be invoked by aThreadPoolExecutorwhenexecutecannot accept a task. This may occur when no more threads or queue slots are available because their bounds would be exceeded, or upon shutdown of the Executor.In the absence of other alternatives, the method may throw an unchecked
RejectedExecutionException, which will be propagated to the caller ofexecute.Handlers that discard tasks or run them directly should delegate to
ThreadPoolExecutor.DiscardPolicyorThreadPoolExecutor.CallerRunsPolicy, respectively, so the submitted task count is adjusted. Handlers that enqueue tasks directly leave their counts to be released when the tasks complete.- Parameters:
r- the runnable task requested to be executedexecutor- the executor attempting to execute this task- Throws:
RejectedExecutionException- if there is no remedy
-