1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Written by Doug Lea with assistance from members of JCP JSR-166 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Expert Group and released to the public domain, as explained at 4a807b4d808d2591894daf13aab179b2e9c46a2f5Jesse Wilson * http://creativecommons.org/publicdomain/zero/1.0/ 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage java.util.concurrent; 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 10bba8d1acd6dfff06c94d761c67a30154ca5ca5dfJesse Wilson * A handler for tasks that cannot be executed by a {@link ThreadPoolExecutor}. 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @since 1.5 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @author Doug Lea 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic interface RejectedExecutionHandler { 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Method that may be invoked by a {@link ThreadPoolExecutor} when 19bba8d1acd6dfff06c94d761c67a30154ca5ca5dfJesse Wilson * {@link ThreadPoolExecutor#execute execute} cannot accept a 20bba8d1acd6dfff06c94d761c67a30154ca5ca5dfJesse Wilson * task. This may occur when no more threads or queue slots are 21bba8d1acd6dfff06c94d761c67a30154ca5ca5dfJesse Wilson * available because their bounds would be exceeded, or upon 22bba8d1acd6dfff06c94d761c67a30154ca5ca5dfJesse Wilson * shutdown of the Executor. 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 24bba8d1acd6dfff06c94d761c67a30154ca5ca5dfJesse Wilson * <p>In the absence of other alternatives, the method may throw 25bba8d1acd6dfff06c94d761c67a30154ca5ca5dfJesse Wilson * an unchecked {@link RejectedExecutionException}, which will be 26bba8d1acd6dfff06c94d761c67a30154ca5ca5dfJesse Wilson * propagated to the caller of {@code execute}. 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param r the runnable task requested to be executed 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param executor the executor attempting to execute this task 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws RejectedExecutionException if there is no remedy 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project void rejectedExecution(Runnable r, ThreadPoolExecutor executor); 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 34