# PQueuedThreadPool< Work_T >::QueuedWorkerThread Class Reference

`#include <threadpool.h>`

Inheritance diagram for PQueuedThreadPool< Work_T >::QueuedWorkerThread:

List of all members.

## Public Member Functions

| QueuedWorkerThread (PThreadPool< Work_T > &pool, PThread::Priority priority=PThread::NormalPriority)
void | AddWork (Work_T *work)
void | RemoveWork (Work_T *)
unsigned | GetWorkSize () const
void | Main ()
void | Shutdown ()

## Protected Types

typedef std::queue< Work_T * > | Queue

## Protected Attributes

Queue | m_queue
PMutex | m_mutex
PSemaphore | m_available

### template<class Work_T>
class PQueuedThreadPool< Work_T >::QueuedWorkerThread

## Member Typedef Documentation

template<class Work_T>

typedef std::queue<Work_T *> PQueuedThreadPool< Work_T >::QueuedWorkerThread::Queue `[protected]`

## Constructor & Destructor Documentation

template<class Work_T>

PQueuedThreadPool< Work_T >::QueuedWorkerThread::QueuedWorkerThread | ( | PThreadPool< Work_T > & | pool,
|  | PThread::Priority | priority = `PThread::NormalPriority` |
| ) |  |  | `[inline]`

## Member Function Documentation

template<class Work_T>

void PQueuedThreadPool< Work_T >::QueuedWorkerThread::AddWork | ( | Work_T * | work | ) | `[inline, virtual]`

Implements PThreadPool< Work_T >::WorkerThread.

template<class Work_T>

unsigned PQueuedThreadPool< Work_T >::QueuedWorkerThread::GetWorkSize | ( |  | ) | const`[inline]`

template<class Work_T>

void PQueuedThreadPool< Work_T >::QueuedWorkerThread::Main | ( |  | ) | `[inline, virtual]`

Implements PThreadPool< Work_T >::WorkerThread.

template<class Work_T>

void PQueuedThreadPool< Work_T >::QueuedWorkerThread::RemoveWork | ( | Work_T * |  | ) | `[inline, virtual]`

Implements PThreadPool< Work_T >::WorkerThread.

template<class Work_T>

void PQueuedThreadPool< Work_T >::QueuedWorkerThread::Shutdown | ( |  | ) | `[inline]`

## Member Data Documentation

template<class Work_T>

PSemaphore PQueuedThreadPool< Work_T >::QueuedWorkerThread::m_available `[protected]`

template<class Work_T>

PMutex PQueuedThreadPool< Work_T >::QueuedWorkerThread::m_mutex `[protected]`

template<class Work_T>

Queue PQueuedThreadPool< Work_T >::QueuedWorkerThread::m_queue `[protected]`

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

- threadpool.h