Spec-Zone.ru › Python 3.8

asyncio — Асинхронное ввод-вывод

Привет мир!

import asyncio

async def main():
    print('Hello ...')
    await asyncio.sleep(1)
    print('... World!')

# Python 3.7+
asyncio.run(main())

asyncio — это библиотека для написания конкурентного кода, используя синтаксис async/await.

asyncio используется в качестве основы для нескольких асинхронных фреймворков Python, которые предоставляют высокопроизводительные сетевые и веб-серверы, библиотеки подключения к базам данных, распределённые очереди задач и т. д.

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

asyncio предоставляет набор высокоуровневых API для:

  • выполнения Python корутин одновременно и полного контроля над их выполнением;
  • выполнения сетевого ввода-вывода и IPC;
  • контроля подпроцессов;
  • распределения задач через очереди;
  • синхронизации конкурентного кода;

Кроме того, существуют низкоуровневые API для разработчиков библиотек и фреймворков для:

  • создания и управления циклами событий, которые предоставляют асинхронные API для networking, запуска subprocesses, обработки OS signals и т.д.;
  • реализации эффективных протоколов с использованием транспортов;
  • моста между библиотеками и кодом, основанными на обратных вызовах, и синтаксисом async/await.

Справочник

Высокоуровневые API

  • Корутины и задачи
  • Потоки
  • Примитивы синхронизации
  • Подпроцессы
  • Очереди
  • Исключения

Низкоуровневые API

  • Цикл событий
  • Фьючеры
  • Транспорт и протоколы
  • Политики
  • Поддержка платформ

Руководства и учебники

  • Индекс высокоуровневого API
  • Индекс низкоуровневого API
  • Разработка с asyncio

Примечание

Исходный код asyncio можно найти в Lib/asyncio/.

© 2001–2022 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.8/library/asyncio.html

Spec-Zone.ru

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