跳到主要内容

并发编程知识体系概览

为什么要学并发编程

Python 的并发编程是面试中的高频考点,尤其是 GIL。理解不同并发模型的适用场景,是写出高性能 Python 程序的关键。

核心知识体系

并发模型对比

模型适用场景并行性内存GIL 影响
多线程IO 密集型并发(非并行)共享✅ 受限
多进程CPU 密集型真并行独立❌ 不受
asyncio高并发 IO并发(单线程)共享❌ 不受
concurrent.futures通用封装取决于 Executor--
选择建议
  • IO 密集型(网络请求、文件读写)→ asyncio 或多线程
  • CPU 密集型(计算、数据处理)→ 多进程
  • 混合型 → 多进程 + 每个进程内 asyncio

知识点关联

文档核心内容面试重要度
GIL 全局解释器锁GIL 原理、影响、绕过方案⭐⭐⭐⭐⭐
多线程threading、锁、线程池⭐⭐⭐⭐
多进程multiprocessing、IPC、共享内存⭐⭐⭐⭐
asyncio 协程async/await、事件循环、Task⭐⭐⭐⭐⭐
协程进阶aiohttp、异步上下文、异步生成器⭐⭐⭐
concurrent.futures线程池、进程池、Future⭐⭐⭐

相关链接