Added in API level 1

RejectedExecutionHandler

interface RejectedExecutionHandler
ThreadPoolExecutor.AbortPolicy

A handler for rejected tasks that throws a RejectedExecutionException.

ThreadPoolExecutor.CallerRunsPolicy

A handler for rejected tasks that runs the rejected task directly in the calling thread of the execute method, unless the executor has been shut down, in which case the task is discarded.

ThreadPoolExecutor.DiscardOldestPolicy

A handler for rejected tasks that discards the oldest unhandled request and then retries execute, unless the executor is shut down, in which case the task is discarded.

ThreadPoolExecutor.DiscardPolicy

A handler for rejected tasks that silently discards the rejected task.

A handler for tasks that cannot be executed by a ThreadPoolExecutor.

Summary

Public methods
abstract Unit

Method that may be invoked by a ThreadPoolExecutor when execute cannot accept a task.

Public methods

rejectedExecution

Added in API level 1
abstract fun rejectedExecution(
    r: Runnable!,
    executor: ThreadPoolExecutor!
): Unit

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 Runnable!: the runnable task requested to be executed
executor ThreadPoolExecutor!: the executor attempting to execute this task
Exceptions
java.util.concurrent.RejectedExecutionException if there is no remedy