系列索引:菜菜的并发编程笔记 | Python并发编程详解(持续更新~)
一、思维导图🕵️♀️
二、Python速度慢的两大原因
任何时刻仅有一个线程在执行。
在多核心处理器上,使用 GIL 的解释器也只允许同一时间执行一个线程
三、GIL是什么?
四、为什么有GIL的存在?
GIL目的:为了解决多线程之间数据完整性和状态同步问题
GIL带来的问题:
- 即使使用了多线程,同一时刻也只有单个线程使用CPU,导致多核CPU的浪费
- GIL只会对CPU密集型的程序产生影响
- 如果程序主要是在做I/O操作,比如处理网络连接,那么多线程技术常常是一个明智的选择
五、怎么规避GIL带来的限制
规避GIL的方法:
- 规避方法1: 使用multiprocessing多进程,对CPU密集型计算,单独启动子进程解释器去执行
- 规避方法2: 将计算密集型的任务转移到C语言中,因为C语言比Python快得多,注意要在C语言中自己释放GIL
Python进阶之并发编程篇持续更新,欢迎
点赞收藏
+关注
上一篇:菜菜的并发编程笔记 |(一)并发编程介绍
下一篇:菜菜的并发编程笔记 |(三)利用多线程实现爬虫10倍加速
本人水平有限,文章中不足之处欢迎下方👇评论区批评指正~如果感觉对你有帮助,点个赞👍 支持一下吧 ~
不定期分享 有趣、有料、有营养内容,欢迎 订阅关注 🤝 我的博客 ,期待在这与你相遇 ~