ThreadPoolExecutor.DiscardOldestPolicy
  public
  static
  
  
  class
  ThreadPoolExecutor.DiscardOldestPolicy
  
    extends Object
  
  
  
  
  
      implements
      
        RejectedExecutionHandler
      
  
  
| java.lang.Object | |
| ↳ | java.util.concurrent.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. This policy is
 rarely useful in cases where other threads may be waiting for
 tasks to terminate, or failures must be recorded. Instead consider
 using a handler of the form:
 
 new RejectedExecutionHandler() {
   public void rejectedExecution(Runnable r, ThreadPoolExecutor e) {
     Runnable dropped = e.getQueue().poll();
     if (dropped instanceof Future<?>) {
       ((Future<?>)dropped).cancel(false);
       // also consider logging the failure
     }
     e.execute(r);  // retry
 }}Summary
| Public constructors | |
|---|---|
| 
      DiscardOldestPolicy()
      Creates a  | |
| Public methods | |
|---|---|
| 
        
        
        
        
        
        void | 
      rejectedExecution(Runnable r, ThreadPoolExecutor e)
      Obtains and ignores the next task that the executor would otherwise execute, if one is immediately available, and then retries execution of task r, unless the executor is shut down, in which case task r is instead discarded. | 
| Inherited methods | |
|---|---|
Public constructors
DiscardOldestPolicy
public DiscardOldestPolicy ()
Creates a DiscardOldestPolicy for the given executor.
Public methods
rejectedExecution
public void rejectedExecution (Runnable r, ThreadPoolExecutor e)
Obtains and ignores the next task that the executor would otherwise execute, if one is immediately available, and then retries execution of task r, unless the executor is shut down, in which case task r is instead discarded.
| Parameters | |
|---|---|
| r | Runnable: the runnable task requested to be executed | 
| e | ThreadPoolExecutor: the executor attempting to execute this task | 
