## EDU.oswego.cs.dl.util.concurrent
Class PooledExecutor.DiscardOldestWhenBlocked

    java.lang.Object
      EDU.oswego.cs.dl.util.concurrent.PooledExecutor.DiscardOldestWhenBlocked

All Implemented Interfaces:
  PooledExecutor.BlockedExecutionHandler

Enclosing class:
  PooledExecutor

    protected class PooledExecutor.DiscardOldestWhenBlocked

extends java.lang.Object
implements PooledExecutor.BlockedExecutionHandler

Class defining DiscardOldest action. Under this policy, at most one old unhandled task is discarded. If the new task can then be handed off, it is. Otherwise, the new task is run in the current thread (i.e., RunWhenBlocked is used as a backup policy.)

Constructor Summary
`protected` `PooledExecutor.DiscardOldestWhenBlocked()`

Method Summary
`boolean` `blockedAction(java.lang.Runnable command)` Return true if successfully handled so, execute should terminate; else return false if execute loop should be retried.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PooledExecutor.DiscardOldestWhenBlocked

    protected PooledExecutor.DiscardOldestWhenBlocked()

Method Detail

### blockedAction

    public boolean blockedAction(java.lang.Runnable command)
                          throws java.lang.InterruptedException

  Description copied from interface: `PooledExecutor.BlockedExecutionHandler`
  Return true if successfully handled so, execute should terminate; else return false if execute loop should be retried.

  Specified by:
    `blockedAction` in interface `PooledExecutor.BlockedExecutionHandler`
  Throws:
    `java.lang.InterruptedException`