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

Ber*_*ala 5 python

6 - 7年前,我看到了一种通过仅运行解释器一次在紧密资源环境中运行python的方法,同时允许多个脚本同时使用它.

这个想法是机器人保存解释器启动开销和节省RAM.

是否存在类似的东西?

这个问题 Python:从同一个解释同时执行多个脚本不能解决并发问题.至少答案是关于顺序运行,但我需要同时:)

想法?

Jer*_*fin 9

是的,不是.Python本身使用全局解释器锁(GIL),如果你愿意,你可以阅读很多.然而,简而言之,它确保解释器基本上是单线程的.您可以在Python程序中创建(并运行)多个线程,但是当他们/如果他们使用Python解释器时,一次只能有一个.但是,如果您的线程主要运行来自SciPy或NumPy(这是未解释的本机代码)的代码,那么您可以同时运行多个代码.

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