C 从0实现百万并发Reactor服务器
- 视频:
1-1 C++从0实现百万并发的Reactor服务器-课程概览06:25
第2章 C++工程师必须掌握-脱离Linux操作系统,谈并发没什么意义
9 节|83分钟
- 视频:
2-1 Linux环境高级编程导学02:26
- 视频:
2-2 Linux的Hello world11:13
- 视频:
2-3 VSCode的安装和配置14:30
- 视频:
2-4 静态库和动态库11:20
- 视频:
2-5 编译规则文件makefile16: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 阻塞&非阻塞的IO16:25
- 视频:
6-6 水平触和&边缘触发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 使用接收缓冲区inputbuffer20:28
- 视频:
9-7 使用发送缓冲区outputbuffer17:56
- 视频:
9-8 优化回调函数14:31
- 视频:
9-9 实现回显服务器EchoServer20:32
第10章 单线程不能发挥多核CPU的效率-线程池技术实现多线程的Reactor服务器
4 节|58分钟
- 视频:
10-1 简单优化Buffer06: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 如何设计更高效的Buffer17:12
- 视频:
12-3 性能测试-100万秒的吞吐量16:07
- 视频:
12-4 如何基于Reactor服务器开发业务26:33
视频:
13-1 课程复盘