八、并发与多线程
线程适合阻塞 I/O 并发,但共享内存也带来竞态、死锁和生命周期问题。本章准确区分 GIL 的实现边界,并用锁、事件、条件变量、队列和线程池建立可验证的同步关系。
本章目录
学习目标
- 按 I/O/CPU、共享状态、取消和部署约束选择线程、进程或协程。
- 准确理解默认 CPython GIL 与自由线程构建的版本边界。
- 正确使用
Lock、RLock、Condition、Event、Semaphore、Barrier、Queue。 - 识别竞态、死锁、活锁和饥饿,并设计不依赖
sleep的测试。
验证基线
example-project/src/tasklib/threading_examples.py 用 Barrier 同步起跑、Lock 保护复合操作、Queue 传递任务;4 个专项测试不依赖 time.sleep()。
关联章节
- 上一章:07 异常与资源管理
- 下一章:09 多进程
