Python 并行粒度
并行编程模型
- 进程级
- multiprocessing、concurrent.futures.ProcessPoolExecutor
- 多核真并行,避开 GIL;适合 CPU 密集
- 启动/序列化/IPC 成本高;数据需要拷贝或用共享内存;跨平台启动方式差异
- 线程级
- threading、concurrent.futures.ThreadPoolExecutor
- 轻量级,启动/切换成本低;共享内存,数据传递方便
- 受 GIL 限制,适合 I/O 密集
- 协程级
- asyncio、gevent、trio
- 极轻量级,海量并发;共享内存,数据传递方便
- 受 GIL 限制,适合 I/O 密集;需要异步库支持;调试复杂
启动子进程的方式与区别
子进程同步与异步
子进程终止方式
并行日志追踪(基于 loguru)
多线程传递锁机制
⚠️ 注意事项
- 时间瓶颈最大可能性来自于文件读取与写入,要尽量避免多次执行
- Python 3.11 以上版本解释器整体提速,并行效率也有提升