资源简介
《Linux多线程服务端编程:使用muduo C++网络库》主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。
目 录
第1部分C++ 多线程系统编程
第1章线程安全的对象生命期管理3
1.1当析构函数遇到多线程. . . . . . . . . . . . . . . . .. . . . . . . . . . . 3
1.1.1线程安全的定义. . . . . . . . . . . . . . . . .. . . . . . . . . . . 4
1.1.2MutexLock 与MutexLockGuard. . . . . . . . . . . . . . . . . . . . 4
1.1.3一个线程安全的Counter 示例.. . . . . . . . . . . . . . . . . . . 4
1.2对象的创建很简单. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . 5
1.3销毁太难. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . 7
1.3.1mutex 不是办法. . . . . . . . . . . . . . . . . . . .. . . . . . . . 7
1.3.2作为数据成员的mutex 不能保护析构.. . . . . . . . . . . . . . 8
1.4线程安全的Observer 有多难.. . . . . . . . . . . . . . . . . . . . . . . . 8
1.5原始指针有何不妥. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . 11
1.6神器shared_ptr/weak_ptr . . . . . . . . . .. . . . . . . . . . . . . . . . 13
1.7插曲:系统地避免各种指针错误. . . . . . . . . . . . . . . . .. . . . . . 14
1.8应用到Observer 上.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.9再论shared_ptr 的线程安全.. . . . . . . . . . . . . . . . . . . . . . . . 17
1.10shared_ptr 技术与陷阱. . . .. . . . . . . . . . . . . . . . . . . . . . . . 19
1.11对象池. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . 21
1.11.1enable_shared_from_this . . . . . . . . . . . . . . . . . . . . . . 23
1.11.2弱回调. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . 24
1.12替代方案. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . 26
1.13心得与小结. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 26
1.14Observer 之谬. . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
第2章线程同步精要
2.1互斥器(mutex). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.1.1只使用非递归的mutex . . . . . . . . . . . . . .. . . . . . . . . . 33
2.1.2死锁. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . 35
2.2条件变量(condition variable). . . . . . . . . .
代码片段和文件信息
- 上一篇:boost_1_69_0
- 下一篇:算法设计实验报告-求最大子段和问题
相关资源
- linux uvc摄像头远程监控代码附有说明
- 采用C++、curses、多线程实现的俄罗斯
- Linux环境下的彩票管理系统源码
- 《linux编程技术》-实验2 .doc
- 《Linux操作系统》实验报告
- 《Linux多线程服务端编程:使用muduo
- C++并发编程实战 pdf
- linux下安装oracle最全的缺少包
- 基于VS2015的MFC的多线程同步套接字网
- bazel-0.24.1-installer-linux-x86_64.sh
- C实现http服务源码 适用于linux 和wind
- linux系统_局域网通信软件
- linux下c语言写的俄罗斯方块
- linux下C语言网络编程会话聊天室
- linux下C语言实现的航班管理系统
- linux下C语言俄罗斯方块代码
- Linux 用C语言实现shell
- linux环境下C语言实现的俄罗斯方块
- 模拟 Linux 文件系统 C++
- Matlab R2020b linux安装包
- linux类EXT2文件系统源码
- Linux下局域网语音对讲
- C语言Linux串口编程(serial.c)
- 多线程的鼠标连点器.cpp
- linux下QT调用讯飞sdk
- 主存资源的分配与回收
- 矩阵转置多线程.cpp
- VC++ 网络对战五子棋游戏(服务端+用
- AES 算法实现(linux) 可移植
- C++ 和opencv 利用多线程的方法实现图像
评论
共有 条评论