Как реализована многопроцессорная обработка Python в Windows? - PullRequest
13 голосов
/ 19 апреля 2009

Учитывая отсутствие вызова Windows fork (), как пакет многопроцессорной обработки в Python 2.6 реализован под Windows? Поверх потоков Win32 или какой-то фальшивый форк или просто совместимость поверх существующей многопоточности?

1 Ответ

29 голосов
/ 19 апреля 2009

Это делается с помощью вызова подпроцесса для sys.executable (т. Е. Запуска нового процесса Python) с последующей сериализацией всех глобальных переменных и их отправкой по конвейеру. Клонирование бедняков текущего процесса. Это является причиной дополнительных ограничений , обнаруженных при использовании многопроцессорной обработки на платформе Windows.

Вас также может заинтересовать просмотр выступления Джесси Ноллера из PyCon о многопроцессорной обработке, где он обсуждает его использование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...