asyncio.md
1> **Источник:** https://python-all.ru/3.15/library/asyncio.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# `asyncio` – Асинхронный ввод-вывод89---1011Привет, мир!1213```python14import asyncio1516async def main():17 print('Hello ...')18 await asyncio.sleep(1)19 print('... World!')2021asyncio.run(main())22```2324asyncio – это библиотека для написания **конкурентного** кода с использованием синтаксиса **async/await**.2526asyncio используется как основа для нескольких асинхронных фреймворков Python, которые предоставляют высокопроизводительные сетевые и веб-серверы, библиотеки подключения к базам данных, распределённые очереди задач и т.д.2728asyncio часто отлично подходит для задач, связанных с вводом-выводом, и высокоуровневого **структурированного** сетевого кода.2930> **См. также**31>32> **[Концептуальный обзор asyncio](https://python-all.ru/3.15/howto/a-conceptual-overview-of-asyncio.html#a-conceptual-overview-of-asyncio)**33>34> Объяснение основ работы asyncio.3536asyncio предоставляет набор **высокоуровневых** API для:3738- [запуска корутин Python](https://python-all.ru/3.15/library/asyncio-task.html#coroutine) конкурентно и полного контроля над их выполнением;39- выполнения [сетевого ввода-вывода и IPC](https://python-all.ru/3.15/library/asyncio-stream.html#asyncio-streams);40- управления [подпроцессами](https://python-all.ru/3.15/library/asyncio-subprocess.html#asyncio-subprocess);41- распределения задач через [очереди](https://python-all.ru/3.15/library/asyncio-queue.html#asyncio-queues);42- [синхронизации](https://python-all.ru/3.15/library/asyncio-sync.html#asyncio-sync) конкурентного кода;4344Кроме того, существуют **низкоуровневые** API для *разработчиков библиотек и фреймворков*, чтобы:4546- создания и управления [циклами событий](https://python-all.ru/3.15/library/asyncio-eventloop.html#asyncio-event-loop), которые предоставляют асинхронные API для [сети](https://python-all.ru/3.15/library/asyncio-eventloop.html#loop-create-server), запуска [подпроцессов](https://python-all.ru/3.15/library/asyncio-eventloop.html#loop-subprocess-exec), обработки [сигналов ОС](https://python-all.ru/3.15/library/asyncio-eventloop.html#loop-add-signal-handler) и т.д.;47- реализации эффективных протоколов с помощью [транспортов](https://python-all.ru/3.15/library/asyncio-protocol.html#asyncio-transports-protocols);48- [связывания](https://python-all.ru/3.15/library/asyncio-future.html#asyncio-futures) библиотек и кода на основе колбэков с синтаксисом async/await.4950[Доступность](https://python-all.ru/3.15/library/intro.html#availability): не WASI.5152Этот модуль не работает или недоступен на WebAssembly. Подробнее см. [платформы WebAssembly](https://python-all.ru/3.15/library/intro.html#wasm-availability).5354asyncio REPL5556Вы можете поэкспериментировать с `asyncio` конкурентным контекстом в [REPL](https://python-all.ru/3.15/glossary.html#term-REPL):5758```pycon59$ python -m asyncio60asyncio REPL ...61Use "await" directly instead of "asyncio.run()".62Type "help", "copyright", "credits" or "license" for more information.63>>> import asyncio64>>> await asyncio.sleep(10, result='hello')65'hello'66```6768Этот REPL обеспечивает ограниченную совместимость с [`PYTHON_BASIC_REPL`](https://python-all.ru/3.15/using/cmdline.html#envvar-PYTHON_BASIC_REPL). Рекомендуется использовать REPL по умолчанию для полной функциональности и новейших возможностей.6970Возбуждает [событие аудита](https://python-all.ru/3.15/library/sys.html#auditing) `cpython.run_stdin` без аргументов.7172Изменено в версии 3.12.5: (также 3.11.10, 3.10.15, 3.9.20 и 3.8.20) Генерирует аудируемые события.7374Изменено в версии 3.13: По возможности использует PyREPL, в этом случае тоже выполняется [`PYTHONSTARTUP`](https://python-all.ru/3.15/using/cmdline.html#envvar-PYTHONSTARTUP). Генерирует аудируемые события.7576Справочные материалы7778API высокого уровня7980- [Запускающие объекты](https://python-all.ru/3.15/library/asyncio-runner.html)81- [Корутины и задачи](https://python-all.ru/3.15/library/asyncio-task.html)82- [Потоки данных](https://python-all.ru/3.15/library/asyncio-stream.html)83- [Примитивы синхронизации](https://python-all.ru/3.15/library/asyncio-sync.html)84- [Подпроцессы](https://python-all.ru/3.15/library/asyncio-subprocess.html)85- [Очереди](https://python-all.ru/3.15/library/asyncio-queue.html)86- [Исключения](https://python-all.ru/3.15/library/asyncio-exceptions.html)87- [Интроспекция графа вызовов](https://python-all.ru/3.15/library/asyncio-graph.html)8889API низкого уровня9091- [Цикл событий](https://python-all.ru/3.15/library/asyncio-eventloop.html)92- [Future](https://python-all.ru/3.15/library/asyncio-future.html)93- [Транспорты и протоколы](https://python-all.ru/3.15/library/asyncio-protocol.html)94- [Политики](https://python-all.ru/3.15/library/asyncio-policy.html)95- [Поддержка платформ](https://python-all.ru/3.15/library/asyncio-platforms.html)96- [Расширение](https://python-all.ru/3.15/library/asyncio-extending.html)9798Руководства и учебные пособия99100- [Индекс API высокого уровня](https://python-all.ru/3.15/library/asyncio-api-index.html)101- [Индекс API низкого уровня](https://python-all.ru/3.15/library/asyncio-llapi-index.html)102- [Разработка с asyncio](https://python-all.ru/3.15/library/asyncio-dev.html)103- [asyncio и свободно-поточный Python](https://python-all.ru/3.15/library/asyncio-threading.html)104105> **Примечание**106>107> Исходный код asyncio можно найти в [Lib/asyncio/](https://python-all.ru/src/3.15/Lib/asyncio).108