目录目录 前言关于封面关于本书第1章 你好,C++的并发世界 1.1 何谓并发1.2 为什么使用并发?1.3 C++中的并发和多线程1.4 开始入门1.5 本章总结 第2章 线程管理 2.1 线程管理的基础2.2 向线程函数传递参数2.3 转移线程所有权2.4 运行时决定线程数量2.5 标识线程2.6 本章总结 第3章 线程间共享数据 3.1 共享数据带来的问题3.2 使用互斥量保护共享数据3.3 保护共享数据的替代设施3.4 本章总结 第4章 同步并发操作 4.1 等待一个事件或其他条件4.2 使用期望等待一次性事件4.3 限定等待时间4.4 使用同步操作简化代码4.5 本章总结 第5章 C++内存模型和原子类型操作 5.1 内存模型基础5.2 C++中的原子操作和原子类型5.3 同步操作和强制排序5.4 本章总结 第6章 基于锁的并发数据结构设计 6.1 为并发设计的意义何在?6.2 基于锁的并发数据结构6.3 基于锁设计更加复杂的数据结构6.4 本章总结 第7章 无锁并发数据结构设计 7.1 定义和意义7.2 无锁数据结构的例子7.3 对于设计无锁数据结构的指导建议7.4 本章总结 第8章 并发代码设计 8.1 线程间划分工作的技术8.2 如何让数据紧凑?8.3 为多线程性能设计数据结构8.4 设计并发代码的注意事项8.5 在实践中设计并发代码8.6 本章总结 第9章 高级线程管理 9.1 线程池9.2 中断线程9.3 本章总结 第10章 多线程程序的测试和调试 10.1 与并发相关的错误类型10.2 定位并发错误的技术10.3 本章总结 附录A C++11语言特性简明参考(部分) A.1 右值引用A.2 删除函数A.3 默认函数A.4 常量表达式函数A.5 Lambda函数A.6 变参模板A.7 自动推导变量类型A.8 线程本地变量A.9 本章总结 附录B 并发库简要对比附录C 消息传递框架与完整的ATM示例附录D C++线程类库参考 D.1 chrono头文件D.2 condition_variable头文件D.3 atomic头文件D.4 future头文件D.5 mutex头文件D.6 ratio头文件D.7 thread头文件 资源