This document is for an old version of Python that is no longer supported. You should upgrade, and read the Python documentation for the current stable release.

# Паралельне виконання

Модулі, описані в цьому розділі, забезпечують підтримку одночасного виконання коду. Відповідний вибір інструменту залежатиме від завдання, яке потрібно виконати (прив’язка до процесора чи прив’язка до вводу-виводу) і бажаного стилю розробки (кооперативна багатозадачність, керована подіями, проти випереджальної багатозадачності). Ось огляд:

- `threading` — Thread-based parallelism
  - Локальні дані потоку
  - Об’єкти потоку
  - Блокування об’єктів
  - Об’єкти RLock
  - Об’єкти стану
  - Об’єкти семафора
    - `Semaphore` Приклад
  - Об’єкти подій
  - Об’єкти таймера
  - Загороджувальні об’єкти
  - Використання блокувань, умов і семафорів у операторі `with`
- `multiprocessing` — Process-based parallelism
  - Вступ
    - Клас `Process`
    - Контексти та методи запуску
    - Обмін об’єктами між процесами
    - Синхронізація між процесами
    - Спільне використання стану між процесами
    - Використання пулу працівників
  - довідка
    - `Process` і винятки
    - Труби та черги
    - Різне
    - Об’єкти підключення
    - Примітиви синхронізації
    - Спільні об’єкти `ctypes`
      - Модуль `multiprocessing.sharedctypes`
    - Менеджери
      - Індивідуальні менеджери
      - Використання віддаленого менеджера
    - Проксі об’єкти
      - Прибирати
    - Пули процесів
    - Слухачі та клієнти
      - Формати адрес
    - Ключі автентифікації
    - Лісозаготівля
    - Модуль `multiprocessing.dummy`
  - Інструкції з програмування
    - Всі методи запуску
    - Методи запуску spawn і forkserver
  - Приклади
- `multiprocessing.shared_memory` — Provides shared memory for direct access across processes
- The `concurrent` package
- `concurrent.futures` — Launching parallel tasks
  - Об’єкти виконавця
  - ThreadPoolExecutor
    - Приклад ThreadPoolExecutor
  - ProcessPoolExecutor
    - Приклад ProcessPoolExecutor
  - Об’єкти майбутнього
  - Функції модуля
  - Класи винятків
- `subprocess` — Subprocess management
  - Використання модуля `subprocess`
    - Часто використовувані аргументи
    - Конструктор Popen
    - Винятки
  - Міркування безпеки
  - Відкрити об’єкти
  - Windows Open Helpers
    - Константи Windows
  - Старіший API високого рівня
  - Заміна старих функцій модулем `subprocess`
    - Заміна команди оболонки /bin/sh
    - Заміна оболонкового трубопроводу
    - Заміна `os.system()`
    - Заміна сімейства `os.spawn`
    - Заміна `os.popen()`, `os.popen2()`, `os.popen3()`
    - Replacing functions from the `popen2` module
  - Застарілі функції виклику оболонки
  - Примітки
    - Перетворення послідовності аргументів на рядок у Windows
- `sched` — Event scheduler
  - Об’єкти планувальника
- `queue` — A synchronized queue class
  - Об’єкти черги
  - Об’єкти SimpleQueue
- `contextvars` — Context Variables
  - Контекстні змінні
  - Ручне керування контекстом
  - підтримка asyncio

Нижче наведено модулі підтримки для деяких із зазначених вище служб:

- `_thread` — Low-level threading API