Spec-Zone.ru › Python 3.7

Индекс API высокого уровня

Эта страница перечисляет все asyncio-API высокого уровня, поддерживающие async/await.

Задачи

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

class="colwidths-given full-width-table docutils align-default">

run()

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

create_task()

Запускает asyncio-задачу.

await sleep()

Ожидание заданное количество секунд.

await gather()

Планирование и ожидание выполнения операций параллельно.

await wait_for()

Выполнение с таймаутом.

await shield()

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

await wait()

Мониторинг завершения.

current_task()

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

all_tasks()

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

Task

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

run_coroutine_threadsafe()

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

for in as_completed()

Мониторинг завершения с циклом for.

Примеры

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

Очереди

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

class="colwidths-given full-width-table docutils align-default">

Queue

Очередь FIFO.

PriorityQueue

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

LifoQueue

Очередь LIFO.

Примеры

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

Подпроцессы

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

class="colwidths-given full-width-table docutils align-default">

await create_subprocess_exec()

Создание подпроцесса.

await create_subprocess_shell()

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

Примеры

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

Потоки

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

class="colwidths-given full-width-table docutils align-default">

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 потоков потоков asyncio.

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

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

class="colwidths-given full-width-table docutils align-default">

Lock

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

Event

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

Condition

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

Semaphore

Семафор.

BoundedSemaphore

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

Примеры

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

Исключения

class="colwidths-given full-width-table docutils align-default">

asyncio.TimeoutError

Выбрасывается при таймауте функциями, такими как wait_for(). Имейте в виду, что asyncio.TimeoutError не связан со встроенным исключением TimeoutError.

asyncio.CancelledError

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

Примеры

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

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

Spec-Zone.ru

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