🧠 并发 vs 并行

  • 并发(Concurrency):单核处理器通过任务切换实现多任务处理,适合I/O密集型场景
    并发_vs_并行
  • 并行(Parallelism):多核处理器同时执行多个任务,适合CPU密集型场景
    并行执行流程

⚙️ 核心并发工具

  1. threading 模块

    线程示意图

    用于创建和管理线程,适合IO操作(如网络请求、文件读写)

  2. asyncio 库

    异步编程模型

    基于协程实现异步IO,支持 async/await 语法
    深入学习asyncio

  3. multiprocessing 模块

    多进程架构

    通过多进程实现真正的并行计算,适合CPU密集型任务

📚 高级技巧

  • 线程池管理:使用 ThreadPoolExecutor 优化资源利用
    线程池原理
  • 异步任务调度asyncioasync defawait 关键字实现非阻塞调用
  • 并发安全:通过 threading.Lock 防止多线程数据竞争
    查看并发安全最佳实践

🚀 性能优化建议

  • 使用 concurrent.futures 统一管理线程/进程池
  • 对IO密集型任务优先选择异步编程模型
  • 通过 multiprocessing 实现多核并行计算
  • 合理设置 asyncio 的事件循环策略

探索更多Python并发案例