ddc
|
high-level class used by CDDCServer for a per-client thread pool More...
#include <ServerThread.h>
Public Member Functions | |
CDDCServerThreadPool (void) | |
CDDCServerThreadPool (CDDCServer *Server, size_t nWorkers=4, size_t maxQueueSize=256) | |
virtual | ~CDDCServerThreadPool () |
virtual void | start (CDDCServer *Server, size_t nWorkers=4, size_t maxQueueSize=256) |
virtual void | stop (void) |
size_t | size (void) const |
bool | started (void) const |
Public Attributes | |
ddcThreadQueue< int > | m_Queue |
vector< CDDCServerThread * > | m_Workers |
pthread_mutex_t | m_mutex |
high-level class used by CDDCServer for a per-client thread pool
CDDCServerThreadPool::CDDCServerThreadPool | ( | void | ) |
default constructor
CDDCServerThreadPool::CDDCServerThreadPool | ( | CDDCServer * | Server, |
size_t | nWorkers = 4 , |
||
size_t | maxQueueSize = 256 |
||
) |
wrapper for constructor and start()
References ddcThread::start().
|
virtual |
default destructor
|
virtual |
create and start worker nWorkers worker-threads
References CDDCServerThread::CDDCServerThread(), ddcLogInfo, Format(), and nWorkers.
Referenced by CDDCServer::StartClientThreads().
|
virtual |
terminate any worker threads and free up memory
Referenced by CDDCServer::Shutdown().
|
inline |
current number of worker thrads
|
inline |
wrapper for size()!=0
ddcThreadQueue< int > CDDCServerThreadPool::m_Queue |
item queue for thread-pool mode
Referenced by CDDCServer::HandleClientConnection(), and CDDCServerThread::run().
vector<CDDCServerThread*> CDDCServerThreadPool::m_Workers |
worker threads for thread-pool mode
pthread_mutex_t CDDCServerThreadPool::m_mutex |
pthread mutex for locking parent access
Referenced by CDDCServerThread::run().