并发编程
2026/1/31大约 1 分钟
并发编程
掌握 Python 并发编程:多线程、多进程、异步编程。
学习内容
多线程
threading 模块、线程同步、线程安全
多进程
multiprocessing 模块、进程间通信
异步编程
asyncio、协程、事件循环
并发工具
线程池、进程池、并发原语
并发模型对比
| 特性 | 多线程 | 多进程 | 异步IO |
|---|---|---|---|
| 模块 | threading | multiprocessing | asyncio |
| GIL限制 | 受限 | 不受限 | 不受限 |
| 内存共享 | 共享 | 独立 | 共享 |
| 适用场景 | IO密集 | CPU密集 | 高IO并发 |
| 创建开销 | 低 | 高 | 低 |
选择建议
GIL 说明
全局解释器锁(GIL)
Python 的 GIL 确保同一时刻只有一个线程执行 Python 字节码:
- 不影响:IO 密集型任务(网络、文件)
- 影响:CPU 密集型任务(计算)
解决方案:
- 使用
multiprocessing绕过 GIL - 使用 C 扩展(NumPy、Cython)
- 使用异步编程(asyncio)