GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • شبکه‌سازی و ارتباط بین‌فرایندی
  • اجراکننده‌ها
  • گزارش یک اشکال
  • بهبود این صفحه
  • نمایش منبع
  • نمایش منبع ترجمه
  • اندیس
  • ماژول‌ها
  • Python
  • 3.15.2 documentation
  • کتابخانه‌ی استاندارد پایتون
  • asyncio --- ورودی/خروجی ناهمگام

This view

  • Original page
  • New address

GeezerVison is showing python.github.io — asyncio --- ورودی/خروجی ناهمگام

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


سلام دنیا!

import asyncio

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

asyncio.run(main())

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

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

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

همچنین ببینید

نمای کلی مفهومی از asyncio

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

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

  • اجرای هم‌روال‌های پایتون به‌صورت همزمان و داشتن کنترل کامل بر اجرای آن‌ها؛

  • انجام ورودی/خروجی شبکه و ارتباط بین‌فرایندی (IPC)؛

  • کنترل زیرفرایندها؛

  • توزیع وظایف از طریق صف‌ها؛

  • همگام‌سازی کد هم‌روند؛

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

  • بازرسی گراف فراخوانی ناهمگام وظایف و آینده‌نماها؛

  • بازرسی وظایف در فرایند پایتون دیگری که در حال اجرا است با ابزارهای خط فرمان؛

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

  • ایجاد و مدیریت حلقه‌های رویداد، که APIهای ناهمگامی برای شبکه‌سازی، اجرای زیرفرایندها، مدیریت سیگنال‌های سیستم‌عامل و غیره فراهم می‌کنند؛

  • پیاده‌سازی پروتکل‌های کارآمد با استفاده از transports؛

  • پل بین کتابخانه‌های مبتنی بر کال‌بک و کد با سینتکس async/await.

دسترس‌پذیری: 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) را منتشر می‌کند.

مرجع

APIهای سطح بالا

  • اجراکننده‌ها
  • هم‌روال‌ها و وظایف
  • جریان‌ها
  • اولیه‌های همگام‌سازی
  • زیرفرایندها
  • صف‌ها
  • استثناها

APIهای درون‌نگری

  • درون‌نگری گراف فراخوانی
  • ابزارهای درون‌نگری خط فرمان

APIهای سطح پایین

  • حلقه رویداد
  • آینده‌نماها (Futures)
  • انتقال‌ها و پروتکل‌ها
  • سیاست‌ها
  • پشتیبانی از پلتفرم
  • گسترش

راهنماها و خودآموزها

  • اندیس API سطح بالا
  • اندیس API سطح پایین
  • توسعه با asyncio
  • asyncio و پایتون نخ‌آزاد

نکته

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

© حق نشر 2001 Python Software Foundation.
این صفحه تحت مجوز بنیاد نرم‌افزار پایتون نسخه ۲ منتشر شده است.
مثال‌ها، دستورالعمل‌ها، و سایر کدهای موجود در مستندات همچنین تحت مجوز بدون بند BSD منتشر شده‌اند.
برای اطلاعات بیشتر به تاریخچه و مجوز مراجعه کنید.

بنیاد نرم‌افزار پایتون یک شرکت غیرانتفاعی است. لطفاً کمک مالی کنید.

آخرین به‌روزرسانی در نوامبر 12, 2026 (06:19 UTC). آیا اشکالی یافتید؟
ساخته شده با Sphinx 9.1.0.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.