ответ

1

Мое предположение: multithreading модуль был реализован очень рано, multiprocessing модуль вышел в версии 2.6.

Конструкция очереди была слегка подкорректировать для multiprocessing и предлагает большую гибкость, чем multithreading, потому что вы можете выбрать между Queue, SimpleQueue и JoinableQueue в зависимости от вариантов использования (скорость против надежности).

Теперь модификация multithreading, как это, вызвала бы обратную несовместимость, поскольку методы join и task_done должны быть удалены. Представьте, что код должен быть реорганизован, новые тесты должны быть написаны, API сломан - для меня явно нет преимуществ.

Смежные вопросы