01
多核系统概述
为什么需要多核?从单核到多核的演进,SMP vs AMP 架构分类
基础架构
02
多核处理器硬件基础
CPU核心、缓存一致性、内存屏障概念
硬件MESI
03
多核编程模型
共享内存 vs 消息传递,数据并行与任务并行
模型并行
04
Python中的多线程与GIL
GIL是什么?为什么限制并行?如何绕过GIL?
GIL线程
05
threading模块实战
创建线程、生命周期、daemon线程、线程命名
threading基础
06
线程同步之Lock
互斥锁原理,acquire/release,with语句管理锁
Lock同步
07
线程同步之RLock
可重入锁,解决同一线程多次获取锁的死锁问题
RLock重入
08
线程同步之Semaphore
信号量控制并发数量,资源池场景
Semaphore计数
09
线程同步之Event
事件驱动同步,生产者-消费者模式
Event等待
10
线程同步之Condition
条件变量,复杂线程协作场景
Condition通知
11
线程同步之Barrier
栅栏同步,多线程分阶段执行
Barrier分阶段
12
死锁与活锁
死锁四个必要条件,活锁与饥饿,实际案例
死锁饥饿
13
锁的优化策略
锁粒度(粗锁vs细锁),锁分段技术,读写锁
优化读写锁
14
multiprocessing模块
进程 vs 线程,Process类,进程池
进程multiprocessing
15
进程间同步
Lock、Semaphore、Event、Queue 进程间同步
IPC同步
16
进程间通信(IPC)
Pipe、Queue、共享内存(Value/Array)、Manager
IPC共享内存
17
多进程实战
CPU密集型任务加速,多进程爬虫案例
实战爬虫
18
concurrent.futures模块
ThreadPoolExecutor与ProcessPoolExecutor,Future对象
线程池进程池
19
异步编程基础
asyncio事件循环,协程,async/await语法
asyncio协程
20
asyncio同步原语
asyncio.Lock、Semaphore、Event
asyncio同步
21
异步编程实战
异步HTTP请求,异步文件IO,异步数据库操作
实战aiohttp
22
多核与分布式计算
Ray框架入门,任务调度与并行计算
Ray分布式
23
多核调试与性能分析
cProfile、line_profiler、多线程调试技巧
调试性能
24
原子操作与无锁编程
CAS操作,Python atomic库,无锁数据结构
无锁CAS
25
缓存一致性协议MESI
MESI状态机,伪共享(False Sharing)问题
MESI缓存
26
内存模型与重排序
编译器重排序、CPU重排序,happens-before规则
内存模型重排序
27
多核编程设计模式
生产者-消费者、工作窃取、流水线模式
模式设计
28
实战案例1:多线程Web服务器
使用锁管理共享连接池
Web锁
29
实战案例2:多进程图像处理流水线
使用Queue传递数据
图像流水线
30
实战案例3:异步爬虫框架
结合asyncio与aiohttp实现高并发
爬虫高并发