Spec-Zone.ru › Python 3.12

Параллельное выполнение

Модули, описанные в этой главе, обеспечивают поддержку параллельного выполнения кода. Выбор подходящего инструмента зависит от выполняемой задачи (с интенсивными вычислениями или операциями ввода-вывода) и предпочитаемого стиля разработки (событийная кооперативная многозадачность или вытесняющая многозадачность). Краткий обзор:

  • threading — параллелизм на основе потоков
    • Локальные данные потока
    • Объекты потоков
    • Объекты блокировок
    • Объекты RLock
    • Объекты условий
    • Объекты семафоров
      • Пример Semaphore
    • Объекты событий
    • Объекты таймеров
    • Объекты барьеров
    • Использование блокировок, условий и семафоров в операторе with
  • multiprocessing — параллелизм на основе процессов
    • Введение
      • Класс Process
      • Контексты и способы запуска
      • Обмен объектами между процессами
      • Синхронизация между процессами
      • Общий доступ к состоянию между процессами
      • Использование пула рабочих процессов
    • Справочник
      • Process и исключения
      • Каналы и очереди
      • Разное
      • Объекты соединений
      • Примитивы синхронизации
      • Общие объекты ctypes
        • Модуль multiprocessing.sharedctypes
      • Менеджеры
        • Настраиваемые менеджеры
        • Использование удалённого менеджера
      • Объекты-прокси
        • Очистка
      • Пулы процессов
      • Слушатели и клиенты
        • Форматы адресов
      • Ключи аутентификации
      • Ведение журнала
      • Модуль multiprocessing.dummy
    • Рекомендации по программированию
      • Все способы запуска
      • Способы запуска spawn и forkserver
    • Примеры
  • multiprocessing.shared_memory — разделяемая память для прямого доступа из разных процессов
  • Пакет concurrent
  • concurrent.futures — запуск параллельных задач
    • Объекты Executor
    • ThreadPoolExecutor
      • Пример ThreadPoolExecutor
    • ProcessPoolExecutor
      • Пример ProcessPoolExecutor
    • Объекты Future
    • Функции модуля
    • Классы исключений
  • subprocess — управление подпроцессами
    • Использование модуля subprocess
      • Часто используемые аргументы
      • Конструктор Popen
      • Исключения
    • Вопросы безопасности
    • Объекты Popen
    • Вспомогательные средства Popen для Windows
      • Константы Windows
    • Старый высокоуровневый API
    • Замена старых функций модулем subprocess
      • Замена подстановки команд оболочки /bin/sh
      • Замена конвейера команд оболочки
      • Замена os.system()
      • Замена семейства os.spawn
      • Замена os.popen(), os.popen2(), os.popen3()
      • Замена функций из модуля popen2
    • Устаревшие функции вызова оболочки
    • Примечания
      • Преобразование последовательности аргументов в строку в Windows
      • Отключение использования vfork() или posix_spawn()
  • sched — планировщик событий
    • Объекты планировщика
  • queue — класс синхронизированной очереди
    • Объекты Queue
    • Объекты SimpleQueue
  • contextvars — переменные контекста
    • Переменные контекста
    • Ручное управление контекстом
    • Поддержка asyncio

Следующие модули обеспечивают поддержку некоторых из перечисленных выше служб:

  • _thread — низкоуровневый API потоков

© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/library/concurrency.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API