并发系列 -- 汇总(持续更新)

一、前言

本文摘自 C++ Concurrency IN ACTION,一本基于 C++11 标准的并发和多线程编程深度指南。内容包括 std::thread、std::mutex、和 std::async 等基础类的使用,内存模型和原子操作、基于锁和无锁数据结构的构建,以及并行算法和线程管理。同时,会在部分章节附加 Qt 提供的便利工具。

  • 基础类

    图中涉及 C++ 标准库 和 Qt 提供的一些工具类。它们足以满足 99.9% 的应用开发需求。你见过多少呢?又对它们的应用场景了解多少?(哎,难以想象共事的多位 10 多年工龄的互联网员工竟然对线程毫无感觉。博主心好累~)
  • 内存模型
  • 数据结构
  • 并行算法
  • 线程管理

二、并发编程实践

该章节会结合博主 3 年多来在前端、后端、客户端方向的粗浅经验,对 C++ 并发编程作简要汇总。

1、管理线程

C++ 标准库让大多数线程管理变得相对简单,通过与给定线程关联的 std::thread 对象就可以管理所有事情。对于不直观的任务,标准库也提供了从基本构造快进行按需构建的可扩展性。

基本线程管理

2、在线程间管理数据

3、同步并发操作

4、C++ 内存模型和原子类型操作

5、数据结构:基于锁的并发数据结构,无锁的并发数据结构

6、高级线程管理


并发系列 -- 汇总(持续更新)
https://jalencui.com/2023/08/06/MultiThread-Pratice-4/
Author
Jalen Cui
Posted on
August 6, 2023
Licensed under