Python应用程序和Python解释器?

时间:2011-09-20 08:53:11

标签: python scripting

我想知道为不同的python应用程序执行多少个python解释器? 假设我有6个不同的python应用程序启动并运行,那么这是否意味着每个运行6个不同的python解释器?

3 个答案:

答案 0 :(得分:5)

执行python脚本时,每个进程执行时都会运行1个解释器。

  • 如果您的应用程序在单个进程中执行,则为应用程序的每个实例执行1个解释程序。
  • 如果您的应用程序启动了多个进程,那么您将为每个已启动的进程获得额外的解释器。
  • 如果您的应用程序使用线程,则解释器在属于同一进程的多个线程之间共享。

答案 1 :(得分:1)

是的,每个python脚本都是由一个单独的python解释器进程启动的。 (当然,除非您的应用程序实际上是单线程应用程序多线程;)

答案 2 :(得分:1)

假设CPython,是的,你有'n'个不同的解释器运行但是(至少在Windows,UNIX和Linux等操作系统上),解释器代码本身是共享的。
数据区域(包括您的Python代码,取决于实现)对于每个进程都是唯一的。用C语言编写的任何生成.dll或.so(共享对象)的模块也将共享进程之间的代码区域,但是有自己的数据区域。