最近看源码,发现Thrift类库和其框架类的实现很不错,可以在其它C++工程采用加速开发速度和程序稳定性
并发相关:
线程池
直接预分配指定个线程(跟动态相对),然后把异步任务添加给线程池就可以了。
可支持流控(pending过多时,添加任务时将堵塞)
支持超时,对那些在超时时间到来后还没执行的任务,将被清除,并作为参数传给相应的回调句柄。
互斥类
Monter把互斥和通知封装
基于他弄了Synchronized和 Guard的守护类。(Synchronized是对Guard的一个很薄的包装,使用上没啥区别,不知以后是否要做特殊处理)
读写锁
定时任务管理类
连接类
连接类
支持服务器组的连接类,当前失效的时候,自动从连接组中随机尝试重连,只到找到一个合适的。
其他各种基于libevent的server类和多样的传输协议(file,pile, http, socket)等,以及它们的交互将后续解读后继续补充
注:
代码中大量的使用了boost::shared_ptr<>,估计其程序员从其他高级语言转过来的,让内存管理丢给系统