【小记备忘】之简单的线程池的设计【2014.03.12】

【小记备忘】之简单的线程池的设计【2014.03.12】

欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 

线程池,一个多么牛逼的字眼。。

最近看了一个简单的开源网络库Micro-Development-Kit 的代码,看到了一个简单的线程池的实现。

So,备忘一下。

先看我根据代码总结的类图:

【小记备忘】之简单的线程池的设计【2014.03.12】_第1张图片

当然,functionBase 以及他的两个继承类都是我虚构的,代码中只用到了一个类Executor;

functionBase为虚基类,function_pointer代表执行方法入口为静态成员函数,function_method则代表执行方法是由对象以及对象成员函数实现。

task 具体的线程方法执行类,包含一个functionBase指针,并且提供方法的设置和执行接口。

thread 具体的线程类,封装一个线程的创建,启动,暂停,停止等线程操作。

threadpool 线程池类,内部包含一个线程池容器(保存启动的所有线程),一个任务容器(保存所有进入线程池的任务队列),以及提供线程池的设置,启动,状态查询接口。


欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 

你可能感兴趣的:(编程,C++,工作,线程池,库)