资讯专栏INFORMATION COLUMN

Python进程专题10:GIL

happyhuangjinjin / 3011人阅读

摘要:还有其它很多优秀的框架,来方便我们进行多进程或者多线程处理,使用这些基本可以满足需要,最最最最后不行,还可以使用协程来优化呢。

上一篇文章:Python进程专题9:关于进程的实用工具函数
下一篇文章:Python进程专题完结篇:多进程处理的一般建议

python解析器内部使用GIL(Global Interpreter Lock,全局解释器锁),在任意指定时刻,只允许单个python线程执行,无论系统上存在多少个可用的CPU核心,这也导致了python程序只能在一个处理器上运行。

虽然有这个限制,但是多进程或者多线程在处理IO密集程序时,还是有很多优势,IO密集程序,就是需要访问网络或者存取文件耗费大量时间的程序,此时使用多进程或者多线程,可以将单个进程或线程等待网络或者文件写入、读取的时间,用在其它进程或者线程上,来加快运行速度。

还有其它很多优秀的框架,来方便我们进行多进程或者多线程处理,使用这些基本可以满足需要,最最最最后不行,还可以使用协程来优化呢。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42351.html

相关文章

  • Python进程专题9:关于进程的实用工具函数

    摘要:上一篇文章进程专题分布集群的消息传递下一篇文章进程专题函数解析返回所有活动子进程的对象组成的列表返回系统上的数量,如果能够确定的话返回当前进程的对象在实用各种打包工具如进行冻结的应用程序中,次函数应该作为主程序的首行。 上一篇文章:Python进程专题8:分布集群的消息传递下一篇文章:Python进程专题10:GIL 函数 解析 activite_children() 返回...

    妤锋シ 评论0 收藏0
  • 浅谈Python多线程

    摘要:进程可创建多个线程来执行同一程序的不同部分。就绪等待线程调度。运行线程正常运行阻塞暂停运行,解除阻塞后进入状态重新等待调度。消亡线程方法执行完毕返回或者异常终止。多线程多的情况下,依次执行各线程的方法,前头一个结束了才能执行后面一个。 浅谈Python多线程 作者简介: 姓名:黄志成(小黄)博客: 博客 线程 一.什么是线程? 操作系统原理相关的书,基本都会提到一句很经典的话: 进程...

    zsirfs 评论0 收藏0
  • 从伪并行的 Python 多线程说起

    摘要:多个线程可以同时执行。现在我们执行,尝试在不同数量的线程中执行这个函数。如果线程是真并行,时间开销应该不会随线程数大幅上涨。由此可见,确实是造成伪并行现象的主要因素。小结由于的存在,大多数情况下多线程无法利用多核优势。 本文首发于本人博客,转载请注明出处 写在前面 作者电脑有 4 个 CPU,因此使用 4 个线程测试是合理的 本文使用的 cpython 版本为 3.6.4 本文使...

    SegmentFault 评论0 收藏0
  • 如何编写快速且线程安全的Python代码

    摘要:其次,解释器的主循环,一个名为的函数,读取字节码并逐个执行其中的指令。所有线程都运行相同的代码,并以相同的方式定期从它们获取锁定。无论如何,其他线程无法并行运行。 概述 如今我也是使用Python写代码好多年了,但是我却很少关心GIL的内部机制,导致在写Python多线程程序的时候。今天我们就来看看CPython的源代码,探索一下GIL的源码,了解为什么Python里要存在这个GIL,...

    B0B0 评论0 收藏0
  • GIL 已经被杀死了么?

    摘要:酷睿代在年取代了奔腾,主频远低于此。该词被敏捷开发团队使用较多,含义与形式会略有不同,更改已经开始将垃圾收集器的状态转到解释器,因此每个子解释器将拥有它自己的本该如此。结论死亡了吗对于单线程的应用程序,仍然存活。showImg(https://user-gold-cdn.xitu.io/2019/5/19/16ad09f554fdf443); 本文原创并首发于公众号【Python猫】,未经授...

    番茄西红柿 评论0 收藏0

发表评论

0条评论

happyhuangjinjin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<