C++ 并发编程实战(Concurrency in Action)
June 25, 2026About 1 min
C++ 并发编程实战(Concurrency in Action)
本系列笔记整理自《C++ Concurrency in Action》(Anthony Williams 著),基于 C++11 及之后标准,系统讲解多线程与并发编程:从线程管理、共享数据保护,到内存模型、原子操作,再到无锁数据结构与并发代码设计。适合有一定 C++ 基础、希望深入理解并发原理与工程实践的读者。
章节目录
- 第一章 并发世界 Hello, World — 并发与并行的概念、多进程 vs 多线程、为何使用并发
- 第二章 线程管理 —
std::thread启动/join/detach、传参、所有权转移、运行期线程数选择 - 第三章 线程间共享数据 — 数据竞争、互斥量、死锁与避免、接口固有竞争
- 第四章 同步并发操作 — 条件变量、
future/promise、packaged_task、限时等待 - 第五章 C++ 内存模型与原子操作 — 内存模型基础、原子类型、内存序(memory ordering)、happens-before
- 第六章 基于锁的并发数据结构 — 线程安全的栈/队列/查找表/链表设计
- 第七章 无锁并发数据结构 — 无锁栈/队列、内存回收(hazard pointer / 引用计数)
- 第八章 并发代码设计 — 工作划分、影响性能的因素、并行算法实现
- 第九章 高级线程管理 — 线程池、任务窃取、中断线程
- 第十章 多线程程序的测试与调试 — 并发 bug 定位、测试技巧、可测试性设计