课程定位与核心价值

对于职场中的开发人员和准备跳槽的转行者来说,协程、进程、线程往往是面试的高频考点,也是解决线上性能问题的关键抓手。很多人能写出简单的多线程代码,但面对面试官追问“为什么这里用线程池而不是直接开线程”、“协程在底层是如何调度”时,往往回答不上来。这门课程的价值在于,它没有停留在 API 调用层面,而是从计算机组成原理和操作系统内核出发,帮你建立完整的底层认知体系。它解释了并行与并发、同步与异步的本质区别,梳理了进程的五状态模型和线程的实现方式,并重点剖析了上下文切换的开销以及协程的轻特性。这种从硬件到底层的讲解方式,能让你在面对复杂并发场景时,做出更合理的技术选型。

学习门槛与路径建议

这门课适合有一定 Python 基础,但希望深入理解底层机制的读者。如果你是编程新手,可能会在第 2 章的操作系统概念部分感到吃力,建议先补充基础的 Linux 使用知识。从学习顺序来看,第 1 章的环境准备是前置步骤,务必在 Centos7 虚拟机中完成 VSCode 远程开发环境的搭建,后续的实践环节都依赖这个环境。第 2、3 章是理论核心,不要急于跳读。建议先花足够的时间理解用户态/内核态切换、进程的调度策略,特别是第 3 章末尾关于协程本质的探讨,它是连接理论与后续实践的关键桥梁。第 4 章开始进入 Python 具体实践,从单线程模块的实现到性能分析,再到线程池的应用,节奏逐渐加快。建议理论学习与实践练习交替进行,每看完一个理论章节,立刻对照资料包中的代码示例进行复现,确保理解到位。

学完产出与资料用法

完成这门课程后,你将具备独立设计和优化高并发 Python 程序的能力。你能够准确判断业务场景是 IO 密集型还是计算密集型,并据此选择线程、进程或协程方案。具体产出包括:能够手写实现单线程的数据下载、哈希计算和存储模块;能够使用标准库 ThreadPoolExecutor 封装线程池,解决实际的并发任务;能够对现有代码进行性能剖析,量化并行化带来的收益。资料包中的实践模块是学习的重要组成部分,不要只看视频。建议你按照“实现单线程版本 -> 性能基准测试 -> 引入线程池优化 -> 再次性能测试”的顺序动手操作。通过对比不同实现方式的运行时间和资源占用,才能真正体会并发编程的威力与陷阱。此外,资料中提供的性能分析方法是通用的技能,掌握后你可以将其应用到日常工作项目中,持续优化系统性能。

课程目录

第1章 课程导学 试看 3 节 | 37分钟 1-1 课程导学 (15:07).mp4
 1-2 开发环境准备-Centos7虚拟机 (11:11).mp4
 1-3 开发环境准备-VSCode远程开发 (09:45).mp4
 第2章 协程必备基础知识 

10 节 | 121分钟 2-1 章节导学 (03:51).mp4
 2-2 计算机组成概述 (08:00).mp4
 2-3 计算机组成之CPU (13:56).mp4
 2-4 计算机组成之存储器 (10:51).mp4
 2-5 操作系统概述 (12:33).mp4
 2-6 操作系统的基本功能 (10:28).mp4
 2-7 操作系统的用户态和内核态 (14:33).mp4
 2-8 基础概念之并行与并发 (12:18).mp4
 2-9 基础概念之同步与异步 (11:02).mp4
 2-

10 基础概念之计算密集型和IO密集型 (22:59).mp4
 第3章 深入探讨线程与进程 9 节 | 106分钟 3-1 章节导学 (02:53).mp4
 3-2 操作系统的进程详解 (17:56).mp4
 3-3 进程的五状态模型 (09:26).mp4
 3-4 进程的调度方式 (11:50).mp4
 3-5 操作系统的线程详解 (14:20).mp4
 3-6 线程的实现方式 (19:30).mp4
 3-7 进程与线程的上下文切换 (13:34).mp4
 3-8 探索协程的本质 (16:28).mp4
 3-9 你能够指出Windows进程和Linux进程的相同与不同吗?.mp4
 第4章 多线程实践与性能分析 

12 节 | 118分钟 4-1 章节导学 (05:30).mp4
 4-2 Python 线程初体验 (15:44).mp4
 4-3 编程实践-实现单线程下载模块 (16:38).mp4
 4-4 编程实践-实现单线程哈希模块 (12:18).mp4
 4-5 编程实践-实现单线程存储模块 (08:47).mp4
 4-6 模块性能分析-并行化运行的可行性 (12:47).mp4
 4-7 线程池的原理与实践 (11:03).mp4
 4-8 线程池标准库ThreadPoolExecutor (06:39).mp4
 4-9 量化分析-线程池改造优化模块的性能 (17:12).mp4
 4-

10 控制变量法分析 - Python 多线程的局限性 (07:21).mp4
 4-

11 章节回顾 (03:48).mp4
 4-

12 Java 和 Python 是如何保证线程安全的?.mp4
 第5章 深入剖析 Python 解释器 GIL 7 节 | 75分钟 5-1 章节导学 (04:37).mp4
 5-2 探讨Python解释器 (12:43).mp4
 5-3 初探Python的GIL锁 (18:01).mp4
 5-4 GIL的作用-为什么不去掉GIL (09:46).mp4
 5-5 GIL与Python历代版本的关系 (10:36).mp4
 5-6 Python多线程的切换过程 (12:23).mp4
 5-7 【拓展】其他 解释型语言的多线程支持 (06:02).mp4
 第6章 多进程实践与性能分析 8 节 | 110分钟 6-1 章节导学 (03:14).mp4
 6-2 Python进程初体验 (25:05).mp4
 6-3 Python多进程高级编程 (14:27).mp4
 6-4 Python进程池标准库ProcessPoolExecutor (08:07).mp4
 6-5 编程实践-多进程优化各个模块 (11:22).mp4
 6-6 量化分析对比-单线程、多线程、多进程的性能差异 (10:48).mp4
 6-7 量化分析-多进程的局限性 (16:30).mp4
 6-8 【拓展】CPU核数、并发数与性能的关系 (20:13).mp4
 第7章 Python 生成器协程讲解 8 节 | 98分钟 7-1 章节导学 (03:27).mp4
 7-2 Python生成器概述 (18:06).mp4
 7-3 掌握Python关键字yield与yield from (16:17).mp4
 7-4 生成器的next函数和send函数 (26:22).mp4
 7-5 生成器的StopIteration异常 (08:56).mp4
 7-6 再次探讨生产者-消费者模型 (12:08).mp4
 7-7 生成器与协程的关系 (12:36).mp4
 7-8 【讨论题】从源码探讨生成器协程的实现原理。.mp4
 第8章 实现生成器协程调度器 试看 7 节 | 75分钟 8-1 本章导学&案例效果演示 (07:19).mp4
 8-2 实现生成器协程调度器YieldLoop (09:15).mp4
 8-3 实现生成器协程适配器CoroutineWrapper (14:23).mp4
 8-4 Python装饰器decorator的应用 (09:44).mp4
 8-5 实现协程装饰器@coroutine (05:43).mp4
 8-6 协程调度器测试-计算等差数列 (14:25).mp4
 8-7 协程调度器测试-生产者-消费者模型 (13:12).mp4
 第9章 Python 事件驱动编程 8 节 | 87分钟 9-1 章节导学 (05:05).mp4
 9-2 Socket网络编程入门 (14:03).mp4
 9-3 Linux文件描述符fd (10:16).mp4
 9-4 TCP网络服务器的实现原理 (11:35).mp4
 9-5 Linux 网络IO模型详解 (16:44).mp4
 9-6 【拓展】网络服务器 Apache VS Nginx (07:22).mp4
 9-7 事件驱动编程原理与实现 (21:55).mp4
 9-8 【讨论题】探讨事件循环epoll的应用。.mp4
 第10章 原理实践-实现协程调度器 7 节 | 88分钟 10-1 章节导学 (03:21).mp4
 10-2 协程关键字async与await (06:39).mp4
 10-3 可等待对象与Future的实现 (13:43).mp4
 10-4 实现套接字协程适配器SocketWrapper (14:21).mp4
 10-5 定义协程调度器EventLoop (06:26).mp4
 10-6 epoll事件驱动编程在调度器的应用 (21:33).mp4
 10-7 协程TCP网络服务器的实现 (21:49).mp4
 第11章 原理实践 - Python 协程生态 9 节 | 72分钟 11-1 章节导学 (03:31).mp4
 11-2 协程在Web后台的应用 (08:17).mp4
 11-3 协程在爬虫服务的应用 (07:56).mp4
 11-4 协程的一般应用场景 (04:50).mp4
 11-5 Tornado框架中的协程 (10:01).mp4
 11-6 标准协程库asyncio (05:54).mp4
 11-7 协程库aiohttp与aiodns (07:38).mp4
 11-8 文件IO协程库aiofiles (07:08).mp4
 11-9 协程优化多线程多进程服务.mp4
 (15:56) 第12章 课程总结 2 节 | 14分钟 12-1 课程总结-章节回顾.mp4
 (08:28) 12-2 总结与展望.mp4
 (04:40)