什么是并发?
并发(Concurrency)指程序在 同一时间 处理多个任务的能力,常见于多核处理器或异步编程场景。Python 通过以下机制实现并发:
- 多线程(Thread) 🌀
- 适合 I/O 密集型任务(如网络请求、文件读写)
- 通过
threading
模块实现,但需注意 GIL(全局解释器锁)限制
- 多进程(Process) 🧠
- 适合 CPU 密集型任务(如数值计算)
- 使用
multiprocessing
模块,可绕过 GIL 限制
- 异步编程(AsyncIO) ⚡
- 基于事件循环,适合高并发网络请求
- 使用
async/await
关键字,参考 AsyncIO 入门教程 深入学习
核心概念
概念 | 说明 |
---|---|
线程 | 轻量级进程,共享同一进程的内存空间 |
进程 | 独立运行的程序实例,拥有独立内存 |
协程 | 用户态线程,通过 yield 或 async 实现协作调度 |
实践建议
- 避免在 CPU 密集型任务中使用多线程,推荐多进程或并行计算框架(如
concurrent.futures
) - 对于 I/O 密集型任务,优先使用异步编程提升吞吐量
- 可通过 Python 并发模式详解 了解更复杂的模式