首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >同一个python解释器实例同时运行多个脚本?

同一个python解释器实例同时运行多个脚本?
EN

Stack Overflow用户
提问于 2011-04-17 07:22:02
回答 2查看 2.9K关注 0票数 5

6-7年前,我看到了一种在资源紧张的环境下运行python的方法,只运行一次解释器,同时允许几个脚本同时使用它。

这个想法是为了节省解释器的启动开销和节省内存。

有相似的东西存在吗?

这个问题Python: Execute multiple Scripts simultaneously from same Interpreter没有解决并发性问题。至少答案是关于顺序运行的,但我需要同时:)

想法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-17 07:30:31

是也不是。Python本身使用了全局解释器锁(GIL),如果你愿意的话,你可以阅读很多关于它的内容。然而,长话短说,它确保解释器基本上是单线程的。您可以在Python程序中创建(和运行)多个线程,但是当/如果它们使用Python解释器时,一次只能有一个线程这样做。但是,如果您的线程主要运行来自SciPy或NumPy (这是不需要解释的原生代码)之类的代码,那么您可以同时运行多个代码。

然而,大多数操作系统都有一个用于进程内存页的写入时复制机制,这意味着(只要代码没有被修改)解释器使用的大部分代码将被共享,而您(或解释器)根本不需要任何额外的工作。换句话说,当你运行两个或更多的解释器副本时,第二个和后续的解释器将与第一个共享大部分内存(至少对于可执行代码而言),因此资源使用量不会随着您运行更多的实例而线性增加(接近)。启动时间也将大大减少--操作系统必须创建一个新的页表,将内存页面映射到新的进程,但不需要从磁盘或类似的东西中重新读取这些页面。

票数 9
EN

Stack Overflow用户

发布于 2011-04-17 07:27:02

Python通过threadthreading模块支持线程(一个是低级模块,另一个是高级模块)。

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

https://stackoverflow.com/questions/5690327

复制
相关文章

相似问题

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