python GIL
来源:互联网 发布:淘宝囤货节在哪 编辑:程序博客网 时间:2024/06/06 06:40
一、GIL全称global interpreter lock,顾名思义,是一个全局的锁;
二、GIL是python解释器(CPython)所引入,不用CPython的解释器不受此限制;
三、GIL的存在会对多线程运行效率有很大影响,甚至比不过单线程运行效率;
比如:当前有4核CPU,我们开了4个线程,每个线程被分配在4个核上。由于GIL的存在,同一时间点,只有一个线程获得锁,也就是说,4个核上,同一时间点只有一个线程在被执行。
上述是对于CPU密集型运算的线程而言,当线程为IO密集型,情况可能会好一点,因为IO密集型线程在等待IO时,会释放GIL,从而提高部分效率。
四、GIL影响很大,修改很麻烦,因为有很多的模块都用了GIL;
五、如何避免?
利用multiprocess模块替代Thread,multiprocess是python的多进程模块,当多进程时,每个进程都有一个GIL,所以就不会有所得问题。
但是进程间共享数据会比较麻烦,编程时需要注意。
参考链接:http://python.jobbole.com/81822/
阅读全文
0 0
- python GIL
- Python GIL
- Python GIL
- python GIL
- python线程和GIL
- Python的GIL
- python GIL 全局锁
- Python的GIL
- Python中的GIL问题
- python的GIL
- Python中的GIL
- Python 学习之 GIL
- Python多线程与GIL
- python下GIL锁
- Python GIL 系列之通过实例认识Python的GIL
- Python GIL 系列之再谈Python的GIL
- Python GIL 系列之再谈Python的GIL
- Python GIL 系列之再谈Python的GIL
- 数据库设计中的14个技巧
- 视频终端测试,音视频性能检测
- css块级内联元素
- Linux用户分类_DNS
- mysql介绍——基础加强
- python GIL
- LeetCode 37 Sudoku Solver
- 欢迎使用CSDN-markdown编辑器
- 几维安全论:平板电脑与智能手机安全性
- 1年经验与10年经验一样的代码!程序员该如何回归简单?
- Qt学习笔记-文件操作
- Redis cluster配置文件和集群状态详解
- MQ消息中间件技术浅析
- 将jar文件安装为系统服务