AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
Glossary ======== __摘要__: > 1. 原文地址: https://docs.python.org/3/glossary.html#term-global-interpreter-lock + GIL 参考全局解释器锁 + 全局解释器锁 这个机制由 CPython 解释器用来确保在某一个时刻只有一个线程执行 Python 字节码。这个简化了 CPython 的实现,使得对象模型(包括一些重要的内键类型,比如 dict )在并行访问的时候隐含着安全。锁定整个解释器使得解释器成为多线程的变得很简单,然而这样做的开销就是牺牲了多处理器机器在并行条件下的性能。 然而,一些标准的和三方的扩展模块,被设计成在执行一些计算密集型任务(比如比较和计算哈希值)的时候释放掉 GIL。同样,在执行 IO 操作的时候 GIL 也总是被释放的。 过去针对去创建一个 "线程自由" 的解释器(一个锁在更细的力度上锁定共享数据)的尝试都没有成功。因为在通用的单线程实例中出现了性能受损。相信如果克服这种性能问题将会使解释器的实现变得更加复杂,从而也更加难以维护。