asyncio
--- Asynchronous I/O¶
asyncio — це бібліотека для написання паралельного коду за допомогою синтаксису async/await.
asyncio використовується як основа для багатьох асинхронних фреймворків Python, які забезпечують високопродуктивні мережеві та веб-сервери, бібліотеки підключення до бази даних, розподілені черги завдань тощо.
asyncio часто ідеально підходить для високорівневого структурованого мережевого коду.
Lihat juga
- A Conceptual Overview of asyncio
Explanation of the fundamentals of asyncio.
asyncio пропонує набір високорівневого API для:
запускати співпрограми Python одночасно та мати повний контроль над їх виконанням;
виконувати мережевий IO та IPC;
керування підпроцесами;
розподіляти завдання через черги;
синхронізувати конкурентний код;
Також існують низькорівневі API для розробників бібліотек і фреймворків, щоб:
create and manage event loops, which provide asynchronous APIs for networking, running subprocesses, handling OS signals, etc;
реалізувати ефективні протоколи за допомогою transports;
bridge бібліотеки зворотного виклику та код із синтаксисом async/await.
Availability: not WASI.
This module does not work or is not available on WebAssembly. See WebAssembly platforms for more information.
асинхронный REPL
You can experiment with an asyncio
concurrent context in the REPL:
$ python -m asyncio
asyncio REPL ...
Use "await" directly instead of "asyncio.run()".
Type "help", "copyright", "credits" or "license" for more information.
>>> import asyncio
>>> await asyncio.sleep(10, result='hello')
'hello'
Викликає подію аудиту cpython.run_stdin
без аргументів.
Berubah pada versi 3.12.5: (also 3.11.10, 3.10.15, 3.9.20, and 3.8.20) Emits audit events.
Berubah pada versi 3.13: Uses PyREPL if possible, in which case PYTHONSTARTUP
is
also executed. Emits audit events.
Referensi
API високого рівня
Низькорівневі API
Посібники та підручники
Catatan
Вихідний код для asyncio можна знайти в Lib/asyncio/.