整体cpp实现如下:
- TC_ThreadPool ::KeyInitialize TC_ThreadPool::g_key_initialize; pthread_key_t TC_ThreadPool::g_key ;
- void TC_ThreadPool::destructor( void *p)
- { ThreadData *ttd = ( ThreadData*)p;
- if(ttd) {
- delete ttd; }
- }
- void TC_ThreadPool::exit() {
- TC_ThreadPool:: ThreadData *p = getThreadData(); if(p)
- { delete p;
- int ret = pthread_setspecific( g_key, NULL ); if(ret != 0)
- { throw TC_ThreadPool_Exception ("[TC_ThreadPool::setThreadData] pthread_setspecific error", ret);
- } }
- _jobqueue. clear();
- }
- void TC_ThreadPool::setThreadData( TC_ThreadPool:: ThreadData *p) {
- TC_ThreadPool:: ThreadData *pOld = getThreadData(); if(pOld != NULL && pOld != p)
- { delete pOld;










