C++多线程并发编程入门(目录)

C++自学精简实践教程 目录(必读)

一、教程目标

1 普及多线程基本概念

2 让学生亲自接触,直观感受多线程的特点。

3 由浅入深的亲历多线程的问题,亲自解决多线程的问题。

4 掌握基本的并发开发方法。

5 具备解决工作中大部分并发问题的能力。

二、教程特点

1 代码量少,容易自己实际操作。

2 每篇文章同时给出 STL/Windows/Linux 三种对比实现。保证让你看懂公司代码。

3 作者天天在各种多线程产品代码里穿梭,只给最实用精简的用法。

1 平台相关的多线程函数

下面的代码需要同时在 Windows Ubuntu 上验证通过,而且工程都是基于 CMake的。

部分代码只有Windows版本,部分代码只有Linux版本。

比如创建线程,我们需要使用三个版本的线程来感受接口差异和共同之处:

1 STL std::thread

2 Windows CreateThread

3 Linux pthread_create

2 平台相关的开发环境

由于我们的代码有些只能运行在 Windows 环境,有些只能运行在Linux 环境,所以我们准备了两套开发环境。

自始至终,我们都只需要有一个Windows 10 或 Windows 11 即可。

在 Windows 环境上,我们使用 Visual Studio 2022 来开发 STL版本的代码(std::thread),以及 Windows 平台的代码(CreateThread)。

Linux 环境的代码开发调试,我们会在Windows上另外搭建开发环境来实现。主要包括下面的内容,参考 下面的“开发环境搭建”部分的内容。

三、开发环境搭建

我提供两个开发Linux 环境代码的开发环境搭建教程,大家自己任选其中的一个。

从环境搭建的简单程度来说,个人推荐第一个:使用 Windows + Visual Studio 2022 + WSL2 来开发 Linux代码。

1 基于Visual Studio 2022 + WSL2 的Ubuntu开发环境

Visual Studio 2022 在Windows上编译调试WSL2 CMake Linux工程

2 基于WSL2+Qt5 的 Ubuntu 开发环境

Windows开发调试纯Linux代码(WSL+Qt+MobaXterm)环境搭建(超详细教程)

推荐一个免费的 Windows 嵌入式 Linux QtCreator 开发环境_哔哩哔哩_bilibili​

www.bilibili.com/video/BV18c411F71B/​编辑

四、线程入门

只有一个线程的程序(main函数)

1 线程并发

1.1 单独创建一个线程并执行

1.2 理解 std::thread::join

练习1 自动记录上班打卡时间(期待ing)

1.3 单独创建2个线程并执行(STL/Windows/Linux)

1.4 创建10个线程并执行(STL/Windows/Linux)

1.5 理解 std::thread::detach

2 线程同步

2.1 两个线程并发(乱序)执行:乱箭穿心 std::thread

2.2 两个线程同步执行:解决乱箭穿心(STL/Windows/Linux)

3 原子操作

项目1 C++极简内存泄露检测工具(34行代码实现)

3 并发发挥多核CPU的优势

3.1 使用多线程std::thread发挥多核计算优势(题目)

3.2 使用多线程std::thread发挥多核计算优势(解答)

五、Linux 多路I/O

linux eventfd

linux select 模型极简案例

linux poll 模型极简案例

linux epoll 模型极简案例

六、项目实战

1 播放器

项目1 Qt YUV播放器(期待ing)

项目2 ffmpeg 拉流(期待ing)

项目3 Qt+ffmpeg拉流播放器(期待ing)

2 中国象棋

项目1 中国象棋自动对弈软件(期待ing)

3 炒股笔记

项目1 炒股笔记软件(期待ing)

你可能感兴趣的:(c++,开发语言)