- 博客(14)
- 收藏
- 关注
原创 浅谈Python的多进程模块multiprocessing工作原理
我们在使用Python的时候,有时会遇到这样的情况,就是要用到的一些库,他是工作在阻塞模式的,再个呢,他还不是线程安全的。这儿讲的不是线程安全,是指最低限度的线程安全都没有保障,就是说,你即使是只在每个线程中独立使用这个库,不跨线程传递东西,它依旧都不是线程安全的。因为这些库在设计时没有考虑线程安全,库内部乱用模块级变量,自然就最低的线程安全保障都没有。这时,如果又难找到替代库,而且这库又贼复杂,不是自己轻易能造轮子的,就会很烦人了。
2023-05-19 15:21:23
1265
原创 浅谈Python的全局解释器锁GIL对线程安全的影响
前些天用Python写了一个从网络下载文件的小工具,用的官方自带的“urllib.request”模块做HTTP/HTTPS下载。之前是没有用多线程,又由于这个模块的功能是工作在阻塞模式的,就是一次只能一个下载请求,用了一阵子发现网络吞吐量极差。这阵子优化了一下,改用线程池去批量请求。由于程序员的谨慎性,就自然开始关注“urllib.request”这个模块的多程安全性了。然而,Python官网对这方面却只有只言片语,还语焉不详。
2023-05-17 21:14:17
502
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人