GIL
2018-06-18 02:39:12来源:未知 阅读 ()
知识储备:
""" 1、什么事GIL 全局解释器锁,本质就是一把互斥锁,是加到解释器身上的,每一个python进程内都有这么一把锁i 2、有了GIL会对单进程下的多个线程造成什么样的影响 多线程要想执行自己的代码,首先需要争抢GIL,对所有待执行的线程来说,GIL就相当于执行权限 同一时刻只有一个线程争抢成功,即单进程下的多线线程同一时刻只有一个在运行 意味着但进程下的多线程没有并行的效果,但是有并发的效果 PS:分散于不同进程内的线程不会去争抢同一把GIL,只有同一个进程的多个线程才争抢同一把GIL 3、为什么要有GIL Cpython解释器的内存管理机制(垃圾回收线程)不是“线程安全”的 4、GIL与自定义胡知所的异同,多个线程争抢GIL与自定义互斥锁的过程分析 相同: 互斥锁 不同点: GIL是加到解释器上的,作用于全局 自定义互斥锁作用于局部 单进程内的所有线程都会去抢GIL 单进程内的只有一部分线程会去抢自定义的互斥锁 5、什么时候用python的多线程,是么时候用多进程,为什么? 单进程下的多线线程是无法并行,无法并行意味着不能利用多核优势 CPU是执行计算工作,多个CPU意味提升计算性能 CPU是无法做I/O操作,意味着多个CPU在I/O操作面前提升的性能效益微乎其微 当程序是I/O密集型情况下,多核对性能的提升微不足道,此时可以使用python的多线程 当程序是计算密集型情况下,一定要用上多核优势,此时可以使用python多进程 ** 多个线程争抢GIL与自定义互斥锁的过程分析 ** 多个线程先争抢GIL锁, """
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Python 练习: 计算器
下一篇:Python学习-购物车程序
- 网络编程相关知识点 2019-08-13
- Django基本知识 2019-08-13
- Python基础知识 2019-07-24
- 文本分类问题相关原理知识 2019-07-24
- 那些搜过很多遍的python基础知识 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash