Spec-Zone.ru › Python 3.12

Индекс 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 потоков.

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

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

Lock

Мьютекс-блокировка.

Event

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

Condition

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

Semaphore

Семафор.

BoundedSemaphore

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

Barrier

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

Примеры

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

Исключения

asyncio.CancelledError

Выбрасывается, когда задача отменяется. См. также Task.cancel().

asyncio.BrokenBarrierError

Выбрасывается, когда барьер нарушен. См. также Barrier.wait().

Примеры

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

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

Spec-Zone.ru

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