#include <ThreadPool.h>
Public Member Functions | |
CThreadPool (int nPoolSize=POOL_SIZE, bool bCreateNow=true) | |
virtual | ~CThreadPool () |
bool | Create () |
void | Destroy () |
int | GetPoolSize () |
void | SetPoolSize (int) |
void | Run (LPTHREAD_START_ROUTINE pFunc, LPVOID pData, ThreadPriority priority=Low) |
void | Run (IRunObject *, ThreadPriority priority=Low) |
Private Member Functions | |
bool | GetThreadProc (DWORD dwThreadId, LPTHREAD_START_ROUTINE &, LPVOID *, IRunObject **) |
void | FinishNotify (DWORD dwThreadId) |
void | BusyNotify (DWORD dwThreadId) |
HANDLE | GetWaitHandle (DWORD dwThreadId) |
HANDLE | GetShutdownHandle () |
Static Private Member Functions | |
static UINT __stdcall | _ThreadProc (LPVOID pParam) |
Private Attributes | |
FunctionList | m_functionList |
ThreadMap | m_threads |
int | m_nPoolSize |
HANDLE | m_hNotifyShutdown |
CRITICAL_SECTION | m_cs |
CThreadPool::CThreadPool | ( | int | nPoolSize = POOL_SIZE , |
|
bool | bCreateNow = true | |||
) |
CThreadPool::~CThreadPool | ( | ) | [virtual] |
UINT __stdcall CThreadPool::_ThreadProc | ( | LPVOID | pParam | ) | [static, private] |
void CThreadPool::BusyNotify | ( | DWORD | dwThreadId | ) | [private] |
bool CThreadPool::Create | ( | ) |
void CThreadPool::Destroy | ( | ) |
void CThreadPool::FinishNotify | ( | DWORD | dwThreadId | ) | [private] |
int CThreadPool::GetPoolSize | ( | ) |
HANDLE CThreadPool::GetShutdownHandle | ( | ) | [private] |
bool CThreadPool::GetThreadProc | ( | DWORD | dwThreadId, | |
LPTHREAD_START_ROUTINE & | , | |||
LPVOID * | , | |||
IRunObject ** | ||||
) | [private] |
HANDLE CThreadPool::GetWaitHandle | ( | DWORD | dwThreadId | ) | [private] |
void CThreadPool::Run | ( | IRunObject * | , | |
ThreadPriority | priority = Low | |||
) |
void CThreadPool::Run | ( | LPTHREAD_START_ROUTINE | pFunc, | |
LPVOID | pData, | |||
ThreadPriority | priority = Low | |||
) |
void CThreadPool::SetPoolSize | ( | int | ) |
CRITICAL_SECTION CThreadPool::m_cs [private] |
FunctionList CThreadPool::m_functionList [private] |
HANDLE CThreadPool::m_hNotifyShutdown [private] |
int CThreadPool::m_nPoolSize [private] |
ThreadMap CThreadPool::m_threads [private] |