2 * Written by Doug Lea with assistance from members of JCP JSR-166
3 * Expert Group and released to the public domain, as explained at
4 * http://creativecommons.org/licenses/publicdomain
7 package java.util.concurrent;
10 * A handler for tasks that cannot be executed by a {@link
11 * ThreadPoolExecutor}.
16 public interface RejectedExecutionHandler {
19 * Method that may be invoked by a {@link ThreadPoolExecutor} when
20 * <tt>execute</tt> cannot accept a task. This may occur when no
21 * more threads or queue slots are available because their bounds
22 * would be exceeded, or upon shutdown of the Executor.
24 * In the absence other alternatives, the method may throw an
25 * unchecked {@link RejectedExecutionException}, which will be
26 * propagated to the caller of <tt>execute</tt>.
28 * @param r the runnable task requested to be executed
29 * @param executor the executor attempting to execute this task
30 * @throws RejectedExecutionException if there is no remedy
32 void rejectedExecution(Runnable r, ThreadPoolExecutor executor);