Concurrency and multithreading in C++(中文)

目录:

1 C++并发的Hello, World

    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 使用mutex保护共享数据

    3.3 其它保护共享数据的方法

    3.4 总结

4 同步并发行为

    4.1 等待event事件或者其它条件

    4.2 用future等待一次性events

    4.3 等待一段有限的时间

    4.4 使用同步操作简化代码

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 几类并发相关的bug

    10.2 定位并发相关bug的技术

    10.3 总结

你可能感兴趣的:(Concurrency and multithreading in C++(中文))