Приложения Python и интерпретатор Python? - PullRequest
1 голос
/ 20 сентября 2011

Мне интересно, сколько Python-интерпретатора будет выполнено для разных приложений Python?Скажем, у меня запущено и работает 6 разных приложений на python, значит ли это, что для каждого из них запущено 6 разных интерпретаторов python?

Ответы [ 3 ]

5 голосов
/ 20 сентября 2011

при выполнении скрипта на python у вас работает 1 интерпретатор на каждый выполняемый процесс.

  • если ваше приложение выполняется в одном процессе, у вас есть 1 интерпретатор, выполняющийся для каждого экземпляра вашего приложения.
  • если ваше приложение запускает несколько процессов , то вы получаете дополнительные интерпретаторы для каждого запущенного процесса.
  • если ваше приложение использует потоки, интерпретатор разделяется между несколькими потоками, которые принадлежат одному процессу.
1 голос
/ 20 сентября 2011

Если предположить, что CPython, да, у вас работает n разных интерпретаторов, но (по крайней мере, в операционных системах, таких как Windows, UNIX и Linux) сам код интерпретатора является общим.
Области данных (включая код Python,в зависимости от реализации) будет уникальным для каждого процесса.Любые модули, написанные на C, которые создают .dll или .so (общий объект), также совместно используют области кода между процессами, но имеют свои собственные области данных.

1 голос
/ 20 сентября 2011

Да, каждый скрипт python запускается отдельным процессом интерпретатора python.(если ваши приложения на самом деле не являются однопоточными, разумеется;))

...