Автор оригинала: Doug Hellmann.
Цель:
Предоставляет API для управления процессами.
Модуль multiprocessing
включает API для разделения работы между несколькими процессами на основе API для потоковой передачи. В некоторых случаях multiprocessing
– это прямая замена, и ее можно использовать вместо threading
, чтобы использовать преимущества нескольких ядер ЦП, чтобы избежать вычислительных узких мест, связанных с глобальной блокировкой интерпретатора Python.
Из-за схожести первые несколько примеров здесь модифицированы из примеров threading
. Возможности, предоставляемые multiprocessing
, но недоступные в threading
, рассматриваются позже.
- Основы многопроцессорности
- Импортируемые целевые функции
- Определение текущего процесса
- Демонические процессы
- Ожидание процессов
- Завершение процессов
- Статус выхода из процесса
- логирование
- Процесс создания подклассов
- Передача сообщений процессам
- Передача сигналов между процессами
- Контроль доступа к ресурсам
- Синхронизация операций
- Управление одновременным доступом к ресурсам
- Управление общим состоянием
- Общие пространства имен
- Пулы процессов
- Реализация MapReduce
Смотрите также
- стандартная библиотечная документация для многопроцессорной обработки
- threading – API высокого уровня для работы с потоками.
- MapReduce – Википедия – Обзор MapReduce в Википедии.
- MapReduce: упрощенная обработка данных в больших кластерах – презентация Лаборатории Google и статья о MapReduce.
- оператор – инструменты оператора, такие как
itemgetter
.