-
8 个线程比单线程还慢:Python GIL 并发避坑
有个数据处理脚本要对几百万条记录做一轮挺重的纯 CPU 计算,单线程跑十几分钟,老板嫌慢。我心想机器是 8 核的,开个线程池把活儿分到 8 个线程上理论上能快好几倍,改完信心满满一跑却当场傻眼:不但没快,反而比单线程还慢了一点,而 CPU 监控显示 8 个核里始终只有一个在忙、其余七个基本在睡觉。我一度怀疑线程池配置有问题,换写法调参数纹丝不动,直到想起 Python 那个绕不开的名字——GIL …- 0
- 0
-
Python 并发模型选型:GIL、多线程、asyncio 与多进程到底怎么选
同事用 8 个线程跑纯 CPU 的图像处理,结果比单线程还慢——这是 Python 并发里最经典的困惑。从 GIL 这把全局锁讲起,把多线程、asyncio、多进程三套模型的脾性、坑和适用边界逐一摊开:IO 密集用线程或协程,CPU 密集只能靠多进程,asyncio 全程异步否则卡死事件循环,有 GIL 也照样要加锁。最后收口成一棵先问任务在等还是在算的选型决策树。- 0
- 0
多进程
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!


