通用型线程池框架 C++

来源:互联网 发布:淘宝店铺的权重 编辑:程序博客网 时间:2024/04/30 08:06
class _ThreadPool{class _Job{public:///任务处理virtual void doJob();};class _Thread{public:private:_ThreadPool*_pool;_Job*_job;public:static void* _threadFunc(void* param){_Thread*thr = (_Thread*)param;if (thr)thr->doWork();return 0;}void doWork(){while (...){///把自己扔进_pool的空闲队列///等待job信号_job->doJob();}}};public:///初始化线程池InitializePool( ... )///销毁线程池DestroyPool(... )public:void doJob(_Job*){///从空闲队列中取出Thread对象///把job扔给thread}};main{_ThreadPoolpool;pool.InitializePool();//用户工作创建_Jobpool.doJob(...)pool.DestroyPool(); }

0 0