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

java.lang.Object
  extended by 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