Когда вы используете multiprocessing.dummy
, вы используете потоки, а не процессы:
blockquote>
multiprocessing.dummy
реплицирует APImultiprocessing
, но не более чем обертка вокруг модуляthreading
.Это означает, что вы ограничены Global Interpreter Lock (GIL) , и только один поток может фактически выполнить Операции, связанные с процессором за раз. Это не позволит вам полностью использовать ваши процессоры. Если вы хотите получить полный параллелизм во всех доступных ядрах, вам нужно будет решить проблему травления, с которой вы сталкиваетесь с
multiprocessing.Pool
.Обратите внимание, что
multiprocessing.dummy
может по-прежнему быть полезным, если работа вам нужно распараллеливать привязку IO или использовать C-расширение, которое выпускает GIL. Однако для чистого кода Python вам понадобитсяmultiprocessing
.