什么是并发?

并发(Concurrency)指程序在 同一时间 处理多个任务的能力,常见于多核处理器或异步编程场景。Python 通过以下机制实现并发:

  • 多线程(Thread) 🌀
    • 适合 I/O 密集型任务(如网络请求、文件读写)
    • 通过 threading 模块实现,但需注意 GIL(全局解释器锁)限制
  • 多进程(Process) 🧠
    • 适合 CPU 密集型任务(如数值计算)
    • 使用 multiprocessing 模块,可绕过 GIL 限制
  • 异步编程(AsyncIO)
    • 基于事件循环,适合高并发网络请求
    • 使用 async/await 关键字,参考 AsyncIO 入门教程 深入学习

核心概念

概念 说明
线程 轻量级进程,共享同一进程的内存空间
进程 独立运行的程序实例,拥有独立内存
协程 用户态线程,通过 yieldasync 实现协作调度

实践建议

  • 避免在 CPU 密集型任务中使用多线程,推荐多进程或并行计算框架(如 concurrent.futures
  • 对于 I/O 密集型任务,优先使用异步编程提升吞吐量
  • 可通过 Python 并发模式详解 了解更复杂的模式
并发编程
线程模型
异步IO