Source for java.util.concurrent.RejectedExecutionHandler

   1: /*
   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
   5:  */
   6: 
   7: package java.util.concurrent;
   8: 
   9: /**
  10:  * A handler for tasks that cannot be executed by a {@link
  11:  * ThreadPoolExecutor}.
  12:  *
  13:  * @since 1.5
  14:  * @author Doug Lea
  15:  */
  16: public interface RejectedExecutionHandler {
  17: 
  18:     /**
  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.
  23:      *
  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>.
  27:      *
  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
  31:      */
  32:     void rejectedExecution(Runnable r, ThreadPoolExecutor executor);
  33: }