Учитывая отсутствие вызова fork() Windows, как пакет многопроцессорности в Python 2.6 реализован под Windows? В дополнение к потокам Win32 или какой-то поддельной вилке или просто совместимости поверх существующей многопоточности?Как многопроцессор Python реализован в Windows?
13
A
ответ
29
Это делается с использованием вызова подпроцесса sys.executable (т. Е. Запускает новый процесс Python), а затем сериализует все глобальные переменные и отправляет их по каналу. Бедное человеческое клонирование текущего процесса. Это является причиной появления extra restrictions при использовании многопроцессорной обработки на платформе Windows.
Вы также можете быть заинтересованы в просмотре Jesse Noller's talk from PyCon о многопроцессорности, где он обсуждает его использование.
Если Адам ответил на ваш вопрос, вы должны отметить его как принятый :-) –