# C++从0实现百万并发Reactor服务器课程

*Published:* 2024-05-22
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2024年12月29日，已超过 180天没有更新



**具备“三高”框架设计能力，突破高级工程师技术瓶颈。**

[![](https://www.xarjtc.com/wp-content/uploads/2024/05/604feb2938c4ad1.webp)](https://www.xarjtc.com/wp-content/uploads/2024/05/604feb2938c4ad1.webp)

**将学到：**

- 从0打造一个百万级并发框架
- 实践分布式系统设计核心
- 深入高并发Reactor设计原理
- 搞懂高效的网络通信机制
- 掌握事件驱动编程设计思想
- 自如应用智能指针等高阶技术

**简介：**

> 是否具备高并发、高性能、分布式、事件驱动框架设计能力，是优秀C++中高级工程师的分水岭。本课程通过带大家纯手写一个Reactor服务器（ Reactor是大名鼎鼎的redis、nginx、rpc等框架核心模型），让你高效掌握三高框架设计思维，同时让你对C++网络编程、线程、智能指针、C++11标准高阶技术等运用自如，最终倍增编程内功，突破进阶高级工程师技术瓶颈，提升职业核心竞争力。

**适合人群**

1、想进阶的1~2年初级c++工程师

2、想提升编程内功，突破瓶颈的同学

3、想提升高阶技术应用水平的同学

**技术储备**

1、掌握C++基础知识，包括C++11标准

2、掌握Linux基本的使用方法

**环境参数**

操作系统： CentOS7.x

编译器： gcc、g++

集成开发环境： VSCode、vim

数据库： Oracle12c

***试看链接：https://pan.baidu.com/s/1mstbwQIDdGWl-rCEJtKFEA?pwd=zjpq***

**章节目录：**

第1章 C++从0实现百万并发的Reactor服务器-课程概览

1 节｜7分钟

展开

视频：

1-1 C++从0实现百万并发的Reactor服务器-课程概览

试看

06:25

第2章 C++工程师必须掌握-脱离Linux操作系统，谈并发没什么意义

9 节｜83分钟

收起

视频：

2-1 Linux环境高级编程导学

02:26

视频：

2-2 Linux的Hello world

11:13

视频：

2-3 VSCode的安装和配置

14:30

视频：

2-4 静态库和动态库

11:20

视频：

2-5 编译规则文件makefile

16:11

视频：

2-6 main函数的参数

07:19

视频：

2-7 gdb常用命令

09:57

视频：

2-8 gdb调试core文件

05:44

视频：

2-9 gdb调试正在运行中的程序

03:38

第3章 对网络通讯重要的-Linux的目录、文件和时间操作

4 节｜35分钟

收起

视频：

3-1 Linux的时间操作

08:10

视频：

3-2 Linux的目录操作

06:24

视频：

3-3 Linux的系统错误

11:29

视频：

3-4 目录和文件的更多操作

08:03

第4章 进程控制和进程同步

12 节｜136分钟

展开

视频：

4-1 Linux的信号

20:22

视频：

4-2 进程终止

09:11

视频：

4-3 调用可执行程序

11:58

视频：

4-4 创建进程

18:31

视频：

4-5 僵尸进程

12:58

视频：

4-6 多进程与信号

07:29

视频：

4-7 共享内存

09:21

视频：

4-8 循环队列

17:12

视频：

4-9 信号量

16:47

视频：

4-10 多进程的生产消费者模型

04:50

视频：

4-11 pthread线程库

03:13

视频：

4-12 UNIX环境高级编程

03:09

第5章 网络服务器基石-网络编程与网络通讯原理

12 节｜161分钟

展开

视频：

5-1 网络编程基础导学

00:55

视频：

5-2 .第一个网络通讯程序

15:57

视频：

5-3 基于Linux的文件操作

14:42

视频：

5-4 socket函数详解

10:52

视频：

5-5 主机字节序与网络字节序

05:23

视频：

5-6 万恶的结构体

17:50

视频：

5-7 封装socket客户端

19:41

视频：

5-8 封装socket服务端

09:15

视频：

5-9 实现文件传输功能

20:57

视频：

5-10 多进程的服务端

13:44

视频：

5-11 三次握手与四次挥手

21:08

视频：

5-12 TCP缓存

09:50

第6章 高并发的基石-I/O多路复用

7 节｜98分钟

展开

视频：

6-1 IO多路复用-select模型（上）

20:47

视频：

6-2 IO多路复用-select模型（下）

12:09

视频：

6-3 IO多路复用-poll模型

09:24

视频：

6-4 IO多路复用-epoll模型

13:32

视频：

6-5 阻塞&amp;非阻塞的IO

16:25

视频：

6-6 水平触和&amp;边缘触发

24:03

视频：

6-7 epoll的原理

01:20

第7章 开始手把手带大家从0实现百万并发的Reactor服务器

9 节｜122分钟

展开

视频：

7-1 从0实现百万并发的Reactor服务器导学

02:29

视频：

7-2 优化epoll服务端程序，为封装做准备

14:28

视频：

7-3 优化epoll服务端程序，为封装做准备

06:13

视频：

7-4 把网络地址协议封装成InetAddress类

14:03

视频：

7-5 把socket的库函数封装成Socket类

19:48

视频：

7-6 把epoll的各种操作封装成Epoll类

14:12

视频：

7-7 把与TCP连接通道封装成Channel类（上）

11:18

视频：

7-8 把与TCP连接通道封装成Channel类（中）

29:20

视频：

7-9 把与TCP连接通道封装成Channel类（下）

09:53

第8章 Reacor模式中的事件驱动机制核心原理

7 节｜64分钟

展开

视频：

8-1 用C++11的function实现函数回调

12:05

视频：

8-2 把事件循环封装成EventLoop类

07:07

视频：

8-3 把服务端封装成TcpServer类

09:10

视频：

8-4 把接受客户端连接封装成Acceptor类

11:55

视频：

8-5 把TCP连接封装成Connection类

07:34

视频：

8-6 在Channel类中回调Acceptor类的成员函数

06:59

视频：

8-7 在Acceptor类中回调TcpServer类的成员函数

08:55

第9章 来，先实现单线程的Reactor服务器的功能

9 节｜132分钟

展开

视频：

9-1 用map容器管理Connection对象

09:44

视频：

9-2 在Channel类中回调Connection类的成员函数

09:40

视频：

9-3 在Connection类中回调TcpServer类的成员函数

08:59

视频：

9-4 网络编程为什么需要缓冲区Buffer？

13:08

视频：

9-5 封装缓冲区Buffer类

16:47

视频：

9-6 使用接收缓冲区inputbuffer

20:28

视频：

9-7 使用发送缓冲区outputbuffer

17:56

视频：

9-8 优化回调函数

14:31

视频：

9-9 实现回显服务器EchoServer

20:32

第10章 单线程不能发挥多核CPU的效率-线程池技术实现多线程的Reactor服务器

4 节｜58分钟

展开

视频：

10-1 简单优化Buffer

06:11

视频：

10-2 封装线程池ThreadPool类

13:35

视频：

10-3 多线程的主从Reactor模型

22:34

视频：

10-4 增加工作线程

14:53

第11章 优化Reactor服务器的种种细节

9 节｜184分钟

展开

视频：

11-1 在多线程中如何管理资源？

11:51

视频：

11-2 用shared\_ptr管理共享资源

23:08

视频：

11-3 用unique\_ptr管理自己的资源

28:52

视频：

11-4 用eventfd实现事件通知

17:40

视频：

11-5 异步唤醒事件循环（上）

15:16

视频：

11-6 异步唤醒事件循环（下）

24:03

视频：

11-7 性能优化-阻止浪费，清除空闲的TCP连接（上）

15:36

视频：

11-8 性能优化-阻止浪费，清除空闲的TCP连接（中）

15:42

视频：

11-9 性能优化-阻止浪费，清除空闲的TCP连接（下）

31:00

第12章 真金不怕火炼-在正式PC服务器测试，见证每秒百万并发

4 节｜82分钟

展开

视频：

12-1 如何让多线程的网络服务程序体面的退出

21:19

视频：

12-2 如何设计更高效的Buffer

17:12

视频：

12-3 性能测试-100万秒的吞吐量

16:07

视频：

12-4 如何基于Reactor服务器开发业务

26:33

第13章 课程总结-有问题常来问答区，给你更多帮助。

1 节｜4分钟

展开

视频：

13-1 课程复盘

03:21

本课程已完结