9 #ifndef __CATHREADPOOL__
10 #define __CATHREADPOOL__
13 #if !defined ONLY_LOCAL_PROXY || defined INCLUDE_FIRST_MIX
36 bool b_do_not_block_when_full);
THREAD_RETURN(* THREAD_MAIN_TYP)(void *)
Defines the type of the main function of the thread.
THREAD_RETURN worker_thread_main_loop(void *args)
volatile bool m_bShutdown
CAConditionVariable * m_pcondNotFull
friend THREAD_RETURN worker_thread_main_loop(void *args)
SINT32 destroy(bool bWaitForFinish)
tpool_work_t * m_pQueueTail
SINT32 addRequest(THREAD_MAIN_TYP, void *args)
Adds a new request (task) to this threadpool.
volatile bool m_bQueueClosed
CAConditionVariable * m_pcondNotEmpty
volatile UINT32 m_CurQueueSize
CAThreadPool(UINT32 num_worker_threads, UINT32 max_queue_size, bool b_do_not_block_when_full)
bool m_bDoNotBlockWhenFull
tpool_work_t * m_pQueueHead
CAConditionVariable * m_pcondEmpty