Учитывая отсутствие вызова Windows fork (), как пакет многопроцессорной обработки в Python 2.6 реализован под Windows? Поверх потоков Win32 или какой-то фальшивый форк или просто совместимость поверх существующей многопоточности?
Это делается с помощью вызова подпроцесса для sys.executable (т. Е. Запуска нового процесса Python) с последующей сериализацией всех глобальных переменных и их отправкой по конвейеру. Клонирование бедняков текущего процесса. Это является причиной дополнительных ограничений , обнаруженных при использовании многопроцессорной обработки на платформе Windows.
Вас также может заинтересовать просмотр выступления Джесси Ноллера из PyCon о многопроцессорной обработке, где он обсуждает его использование.