Spec-Zone.ru › Python 3.14

Указатель высокоуровневого API

На этой странице перечислены все высокоуровневые API asyncio с поддержкой async/await.

Задачи

Утилиты для запуска программ asyncio, создания задач и ожидания нескольких событий с ограничением по времени.

run()

Создаёт цикл событий, запускает сопрограмму и закрывает цикл.

Runner

Менеджер контекста, упрощающий многократные вызовы асинхронных функций.

Task

Объект задачи.

TaskGroup

Менеджер контекста, содержащий группу задач. Предоставляет удобный и надёжный способ дождаться завершения всех задач в группе.

create_task()

Запускает задачу asyncio и возвращает её.

current_task()

Возвращает текущую задачу.

all_tasks()

Возвращает все ещё не завершённые задачи для цикла событий.

await sleep()

Приостанавливает выполнение на указанное количество секунд.

await gather()

Планирует выполнение нескольких задач одновременно и ожидает их завершения.

await wait_for()

Запускает с ограничением по времени.

await shield()

Защищает от отмены.

await wait()

Ожидает завершения.

timeout()

Запускает с ограничением по времени. Полезно в случаях, когда wait_for не подходит.

to_thread()

Асинхронно запускает функцию в отдельном потоке ОС.

run_coroutine_threadsafe()

Планирует выполнение сопрограммы из другого потока ОС.

for in as_completed()

Ожидает завершения в цикле for.

Примеры

  • Параллельное выполнение задач с помощью asyncio.gather().
  • Установка ограничения по времени с помощью asyncio.wait_for().
  • Отмена.
  • Использование asyncio.sleep().
  • См. также основную страницу документации по задачам.

Очереди

Очереди следует использовать для распределения работы между несколькими задачами asyncio, реализации пулов подключений и шаблонов pub/sub.

Queue

Очередь FIFO.

PriorityQueue

Очередь с приоритетами.

LifoQueue

Очередь LIFO.

Примеры

  • Распределение рабочей нагрузки между несколькими задачами с помощью asyncio.Queue.
  • См. также страницу документации по очередям.

Подпроцессы

Утилиты для создания подпроцессов и выполнения команд оболочки.

await create_subprocess_exec()

Создаёт подпроцесс.

await create_subprocess_shell()

Выполняет команду оболочки.

Примеры

  • Выполнение команды оболочки.
  • См. также документацию по API подпроцессов.

Потоки

Высокоуровневые API для работы с сетевым вводом-выводом.

await open_connection()

Устанавливает TCP-соединение.

await open_unix_connection()

Устанавливает соединение через сокет Unix.

await start_server()

Запускает TCP-сервер.

await start_unix_server()

Запускает сервер на сокете Unix.

StreamReader

Высокоуровневый объект async/await для получения сетевых данных.

StreamWriter

Высокоуровневый объект async/await для отправки сетевых данных.

Примеры

  • Пример TCP-клиента.
  • См. также документацию по API потоков.

Синхронизация

Примитивы синхронизации, аналогичные примитивам threading, которые можно использовать в задачах.

Lock

Блокировка-мьютекс.

Event

Объект события.

Condition

Объект условия.

Semaphore

Семафор.

BoundedSemaphore

Ограниченный семафор.

Barrier

Объект барьера.

Примеры

  • Использование asyncio.Event.
  • Использование asyncio.Barrier.
  • См. также документацию по примитивам синхронизации asyncio.

Исключения

asyncio.CancelledError

Возникает, когда задача отменена. См. также Task.cancel().

asyncio.BrokenBarrierError

Возникает, когда барьер нарушен. См. также Barrier.wait().

Примеры

  • Обработка CancelledError для выполнения кода при запросе на отмену.
  • См. также полный список исключений, специфичных для asyncio.

© 2001 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/library/asyncio-api-index.html

Spec-Zone.ru

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