AI-generated Key Takeaways
-
RejectedExecutionHandler
is an interface used to handle tasks that aThreadPoolExecutor
cannot execute. -
It defines a single method,
rejectedExecution
, which is invoked when a task is rejected. -
Implementations of this interface provide custom logic for handling rejected tasks, such as discarding, re-queuing, or throwing an exception.
-
Four built-in implementations are available:
AbortPolicy
,CallerRunsPolicy
,DiscardOldestPolicy
, andDiscardPolicy
. -
rejectedExecution
is called when aThreadPoolExecutor
is saturated or shut down, providing a mechanism to manage task overflow.
Known Indirect Subclasses |
A handler for tasks that cannot be executed by a ThreadPoolExecutor
.
Public Method Summary
abstract void |
rejectedExecution(Runnable r, ThreadPoolExecutor executor)
Method that may be invoked by a
ThreadPoolExecutor when
execute cannot accept a
task. |
Public Methods
public abstract void rejectedExecution (Runnable r, ThreadPoolExecutor executor)
Method that may be invoked by a ThreadPoolExecutor
when
execute
cannot 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 of execute
.
Parameters
r | the runnable task requested to be executed |
---|---|
executor | the executor attempting to execute this task |
Throws
RejectedExecutionException | if there is no remedy |
---|