CppConcurrence
latest
  • 线程管理
  • 线程间共享数据
  • 同步并发操作
  • C++内存模型和基于原子类型的操作
  • 基于锁的并发数据结构的设计
  • 无锁并发数据结构的设计
  • 并发代码的设计
  • 高级线程管理
  • 并行算法
  • 多线程应用的测试与调试
  • 附录
CppConcurrence
  • Docs »
  • C++ 并发编程实战
  • Edit on GitHub

C++ 并发编程实战¶

Contents:

  • 线程管理
    • 线程管理基础
    • 为线程传递参数
    • 转移线程所有权
    • 运行期选择线程数量
    • 线程标识
  • 线程间共享数据
    • 线程间共享数据存在的问题
    • 使用mutex保护数据
    • 死锁
    • 其他保护共享数据的可选方式
  • 同步并发操作
    • 等待一个事件或其他条件
    • 使用期值等待一次性事件
    • 限定等待时间
    • 使用同步操作简化代码
    • std::experimental
  • C++内存模型和基于原子类型的操作
    • 内存模型基础
    • C++ 中的原子操作和原子类型
    • 同步操作和强制排序
  • 基于锁的并发数据结构的设计
    • 设计并发数据结构的建议
    • 使用锁实现thread-safe stack
    • 使用锁和条件变量实现thread-safe queue
    • 使用细粒度锁和条件变量实现thread-safe queue
    • 使用锁实现thread-safe lookup table
    • 使用锁实现thread-safe list
  • 无锁并发数据结构的设计
    • 非阻塞数据结构
    • lock-free thread-safe stack
    • lock-free thread-safe queue
  • 并发代码的设计
    • 线程间的工作划分
    • 影响并发代码性能的因素
    • 适用多线程性能的数据结构
    • 并发设计的其他注意事项
    • 实践
  • 高级线程管理
    • 线程池
    • 中断
  • 并行算法
    • 执行策略
    • 标准库并行算法
  • 多线程应用的测试与调试
    • 并发相关的bug类型
    • 定位bug的方法
  • 附录
    • 标准库相关头文件
    • 并发库对比
Next

© Copyright 2020, chayliu Revision 637ec0a9.

Built with Sphinx using a theme provided by Read the Docs.