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