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