activemq-cpp-3.6.0
decaf::util::concurrent::ThreadPoolExecutor::DiscardOldestPolicy Class Reference

Handler policy for tasks that are rejected upon a call to ThreadPoolExecutor::execute this class always destroys the oldest unexecuted task in the Queue and then attempts to execute the rejected task using the passed in executor. More...

#include <src/main/decaf/util/concurrent/ThreadPoolExecutor.h>

Inheritance diagram for decaf::util::concurrent::ThreadPoolExecutor::DiscardOldestPolicy:

Public Member Functions

 DiscardOldestPolicy ()
virtual ~DiscardOldestPolicy ()
virtual void rejectedExecution (decaf::lang::Runnable *task, ThreadPoolExecutor *executer)
 Method that may be invoked by a ThreadPoolExecutor when execute cannot accept a task.
- Public Member Functions inherited from decaf::util::concurrent::RejectedExecutionHandler
 RejectedExecutionHandler ()
virtual ~RejectedExecutionHandler ()

Detailed Description

Handler policy for tasks that are rejected upon a call to ThreadPoolExecutor::execute this class always destroys the oldest unexecuted task in the Queue and then attempts to execute the rejected task using the passed in executor.

Since
1.0

Constructor & Destructor Documentation

decaf::util::concurrent::ThreadPoolExecutor::DiscardOldestPolicy::DiscardOldestPolicy ( )
inline
virtual decaf::util::concurrent::ThreadPoolExecutor::DiscardOldestPolicy::~DiscardOldestPolicy ( )
inlinevirtual

Member Function Documentation

virtual void decaf::util::concurrent::ThreadPoolExecutor::DiscardOldestPolicy::rejectedExecution ( decaf::lang::Runnable r,
ThreadPoolExecutor executer 
)
inlinevirtual

Method that may be invoked by a ThreadPoolExecutor when execute cannot accept a task.

This may occur when no more threads or queue slots are available because their bounds would be exceeded, or upon shutdown of the Executor.

In the absence of other alternatives, the method may throw an RejectedExecutionException, which will be propagated to the caller of execute.

Parameters
rThe pointer to the runnable task requested to be executed.
executorThe pointer to the executor attempting to execute this task.
Exceptions
RejectedExecutionExceptionif there is no remedy.

Implements decaf::util::concurrent::RejectedExecutionHandler.

References decaf::util::concurrent::ThreadPoolExecutor::execute(), decaf::util::concurrent::ThreadPoolExecutor::getQueue(), decaf::util::concurrent::ThreadPoolExecutor::isShutdown(), and NULL.


The documentation for this class was generated from the following file: