首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >冻结的Python二进制文件会访问本地解释器和全局解释器锁(GIL)吗?

冻结的Python二进制文件会访问本地解释器和全局解释器锁(GIL)吗?
EN

Stack Overflow用户
提问于 2013-04-13 21:00:36
回答 1查看 109关注 0票数 0

我在一台Linux多核机器上工作,我只是在命令行上使用解释器同时多次调用相同的Python脚本(实际上就是"python script.py")。我发现,即使在机器资源范围内,性能也比单个调用慢得多。我相信这是因为实例通过全局解释器锁(GIL)共享解释器--也就是说,无论发生什么情况,几个实例最终都会运行“单核”。如果我对脚本的一个冻结的Python二进制版本(http://wiki.python.org/moin/Freeze)执行同样的操作,也会发生这种情况吗?我不相信,因为二进制文件“有自己的解释器”?

EN

回答 1

Stack Overflow用户

发布于 2013-04-13 21:07:40

你的信念是错误的。GIL是进程全局的。独立的CPython进程不共享任何内容,甚至GIL也不共享。只有同一进程中的线程才会竞争相同的全局锁。您看到的性能下降有另一个原因。是的,冻结的可执行文件IIUC的规则是相同的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15988062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档