Skip to content

八、并发与多线程 ​

线程适合阻塞 I/O 并发,但共享内存也带来竞态、死锁和生命周期问题。本章准确区分 GIL 的实现边界,并用锁、事件、条件变量、队列和线程池建立可验证的同步关系。

本章目录 ​

  1. 线程、GIL 与并发模型选择
  2. 同步原语、线程池与并发故障

学习目标 ​

  • 按 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()。

关联章节 ​

ICP 备案号待补充 · Gitee 主页