Параллельное выполнение¶
Модули, описанные в этой главе, обеспечивают поддержку параллельного выполнения кода. Выбор подходящего инструмента будет зависеть от выполняемой задачи (привязка к процессору или к вводу-выводам) и предпочтительного стиля разработки (управляемая событиями совместная многозадачность или превентивная многозадачность). Вот краткий обзор:
threading
— Параллелизм на основе потоковmultiprocessing
— Параллелизм на основе процессов- Вступление
- Ссылка
- Руководящие принципы программирования
- Примеры
multiprocessing.shared_memory
— Общая память для прямого доступа между процессами- Пакет
concurrent
concurrent.futures
— Запуск параллельных задачsubprocess
— Управление подпроцессамиsched
— Планировщик событийqueue
— Класс синхронизированной очередиcontextvars
— Контекстные переменные
Ниже приведены модули поддержки для некоторых из вышеперечисленных сервисов: