asyncio --- ورودی/خروجی ناهمگام


asyncio کتابخانه‌ای است برای نوشتن کد همروند با استفاده از سینتکس async/await.

asyncio به‌عنوان پایه‌ای برای چندین چارچوب ناهمگام پایتون استفاده می‌شود که سرورهای شبکه و وب با کارایی بالا، کتابخانه‌های اتصال به پایگاه داده، صف‌های وظیفه توزیع‌شده و غیره را فراهم می‌کنند.

asyncio اغلب برای کد شبکه‌ای سطح‌بالا و ساختاریافته و محدود به ورودی/خروجی (IO-bound) کاملاً مناسب است.

همچنین ملاحظه نمائید

مروری مفهومی بر asyncio

توضیح مبانی asyncio.

asyncio مجموعه‌ای از APIهای سطح بالا را برای موارد زیر فراهم می‌کند:

برای درون‌نگری، asyncio APIها و ابزارهایی برای:

علاوه بر این، APIهای سطح پایین برای توسعه‌دهندگان کتابخانه و چارچوب وجود دارد تا:

دسترس‌پذیری: not WASI.

این ماژول روی WebAssembly کار نمی‌کند یا در دسترس نیست. برای اطلاعات بیشتر سکوهای WebAssembly را ببینید.

asyncio REPL

می‌توانید یک زمینه همروند asyncio را در 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'

این پوسته تعاملی (REPL) سازگاری محدودی با PYTHON_BASIC_REPL دارد. توصیه می‌شود که برای عملکرد کامل و جدیدترین قابلیت‌ها از پوسته تعاملی پیش‌فرض (REPL) استفاده شود.

یک رویداد حسابرسی cpython.run_stdin را بدون آرگومان پرتاب می‌کند.

تغییر یافته در نسخه‌ی 3.12.5: (همچنین 3.11.10، 3.10.15، 3.9.20 و 3.8.20) رویدادهای حسابرسی را منتشر می‌کند.

تغییر یافته در نسخه‌ی 3.13: در صورت امکان از PyREPL استفاده می‌کند، که در این صورت PYTHONSTARTUP نیز اجرا می‌شود. رویدادهای حسابرسی (audit events) را منتشر می‌کند.

مرجع

توجه

کد منبع asyncio را می‌توانید در Lib/asyncio/ پیدا کنید.