Выполнение в нескольких потоках
Модули, описанные в этой главе, обеспечивают поддержку одновременного выполнения кода. Выбор подходящего инструмента будет зависеть от задачи (задачи, связанные с процессором, против задач, связанных с вводом/выводом) и предпочтительного стиля разработки (событийно-ориентированное кооперативное многозадачность против прерывистой многозадачности). Вот обзор:
-
threading— Параллелизм на основе потоковactive_count()current_thread()excepthook()__excepthook__get_ident()get_native_id()enumerate()main_thread()settrace()settrace_all_threads()gettrace()setprofile()setprofile_all_threads()getprofile()stack_size()TIMEOUT_MAX- Данные, локальные для потока
- Объекты потоков
- Объекты блокировок
- Объекты рекурсивных блокировок
- Объекты условий
- Объекты семафоров
- Объекты событий
- Объекты таймеров
- Объекты барьеров
- Использование блокировок, условий и семафоров в инструкции
with
-
multiprocessing— Параллелизм на основе процессов
-
multiprocessing.shared_memory— Общая память для прямого доступа между процессами - Пакет
concurrent -
concurrent.futures— Запуск параллельных задач -
subprocess— Управление дочерними процессами
-
Использование модуля
subprocess - Рекомендации по безопасности
- Объекты Popen
-
Помощники Popen для Windows
-
STARTUPINFO -
Константы Windows
STD_INPUT_HANDLESTD_OUTPUT_HANDLESTD_ERROR_HANDLESW_HIDESTARTF_USESTDHANDLESSTARTF_USESHOWWINDOWSTARTF_FORCEONFEEDBACKSTARTF_FORCEOFFFEEDBACKCREATE_NEW_CONSOLECREATE_NEW_PROCESS_GROUPABOVE_NORMAL_PRIORITY_CLASSBELOW_NORMAL_PRIORITY_CLASSHIGH_PRIORITY_CLASSIDLE_PRIORITY_CLASSNORMAL_PRIORITY_CLASSREALTIME_PRIORITY_CLASSCREATE_NO_WINDOWDETACHED_PROCESSCREATE_DEFAULT_ERROR_MODECREATE_BREAKAWAY_FROM_JOB
-
- Более старые высокоуровневые API
-
Замена устаревших функций модулем
subprocess - Функции устаревшего вызова оболочки
-
Использование модуля
-
sched— Планировщик событий -
queue— Класс синхронизированной очереди -
contextvars— Переменные контекста
Ниже приведены вспомогательные модули для некоторых из вышеперечисленных сервисов:
© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/library/concurrency.html