Linux多线程服务端编程_使用muduoC++网络库
- 资料大王PDF
-
0 次阅读
-
1 次下载
-
2024-01-27 19:01:35
微信
赏
支付宝
文档简介:
目 录
Linux多线程服务端编程使用muduo C++网络库
前言
第1部分 C++多线程系统编程
第1章 线程安全的对象生命期管理
1.1 当析构函数遇到多线程
1.1.1 线程安全的定义
1.1.2 MutexLock与MutexLockGuard
1.1.3 一个线程安全的Counter示例
1.2 对象的创建很简单
1.3 销毁太难
1.3.1 mutex不是办法
1.3.2 作为数据成员的mutex不能保护析构
1.4 线程安全的Observer有多难
1.5 原始指针有何不妥
1.6 神器shared_ptr/weak_ptr
1.7 插曲:系统地避免各种指针错误
1.8 应用到Observer上
1.9 再论shared_ptr的线程安全
1.10 shared_ptr技术与陷阱
1.11 对象池
1.11.1 enable_shared_from_this
1.11.2 弱回调
1.12 替代方案
1.13 心得与小结
1.14 Observer之谬
第2章 线程同步精要
2.1 互斥器(mutex)
2.1.1 只使用非递归的mutex
2.1.2 死锁
2.2 条件变量(condition variable)
2.3 不要用读写锁和信号量
2.4 封装MutexLockk、MutexLockGuardd、
Condition
2.5 线程安全的Singleton实现
2.6 sleep(3)不是同步原语
2.7 归纳与总结
2.8 借shared_ptr实现copy-on-write
第3章 多线程服务器的适用场合与常用编程模型
3.1 进程与线程
3.2 单线程服务器的常用编程模型
3.3 多线程服务器的常用编程模型
3.3.1 one loop per thread
3.3.2 线程池
3.3.3 推荐模式
3.4 进程间通信只用TCP
3.5 多线程服务器的适用场合
3.5.1 必须用单线程的场合
3.5.2 单线程程序的优缺点
3.5.3 适用多线程程序的场景
3.6 “多线程服务器的适用场合”例释与答疑
第4章 C++多线程系统编程精要
4.1 基本线程原语的选用
4.2 C/C++系统库的线程安全性
4.3 Linux上的线程标识
4.4 线程的创建与销毁的守则
4.4.1 pthread_cancel与C++
4.4.2 exit(3)在C++中不是线程安全的
4.5 善用__thread关键字
4.6 多线程与IO
4.7 用RAII包装文件描述符
4.8 RAII与fork()
4.9 多线程与fork()
4.10 ......
评论
发表评论