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
  • کتابخانه‌ی استاندارد پایتون
  • شبکه‌سازی و ارتباط بین‌فرایندی

This view

  • Original page
  • New address

GeezerVison is showing python.github.io — پشتیبانی از پلتفرم

پشتیبانی از پلتفرم¶

ماژول asyncio به‌گونه‌ای طراحی شده است که قابل حمل باشد، اما برخی پلتفرم‌ها به دلیل معماری و قابلیت‌های زیربنایی خود، تفاوت‌ها و محدودیت‌های ظریفی دارند.

همه‌ی سکوها¶

  • loop.add_reader() و loop.add_writer() را نمی‌توان برای پایش ورودی/خروجی پرونده به کار برد.

  • نمی‌توان از loop.connect_read_pipe() و loop.connect_write_pipe() با پرونده‌های معمولی استفاده کرد. برای دیدن اشیایی که در هر سکو پذیرفته می‌شوند، اشیای پایپ پشتیبانی‌شده را ببینید.

ویندوز¶

کد منبع: Lib/asyncio/proactor_events.py, Lib/asyncio/windows_events.py, Lib/asyncio/windows_utils.py


تغییر یافته در نسخه‌ی 3.8: در ویندوز، ProactorEventLoop اکنون حلقه رویداد پیش‌فرض است.

تمام حلقه‌های رویداد در ویندوز از متدهای زیر پشتیبانی نمی‌کنند:

  • از loop.create_unix_connection() و loop.create_unix_server() پشتیبانی نمی‌شود. خانواده‌ی سوکت socket.AF_UNIX مخصوص یونیکس است.

  • loop.add_signal_handler() و loop.remove_signal_handler() پشتیبانی نمی‌شوند.

SelectorEventLoop محدودیت‌های زیر را دارد:

  • SelectSelector برای انتظار برای رویدادهای سوکت به کار می‌رود: از سوکت‌ها پشتیبانی می‌کند و به ۵۱۲ سوکت محدود است.

  • loop.add_reader() و loop.add_writer() فقط دسته‌های سوکت را می‌پذیرند (برای مثال، توصیف‌گرهای پرونده پایپ پشتیبانی نمی‌شوند).

  • از پایپ‌ها پشتیبانی نمی‌شود، بنابراین متدهای loop.connect_read_pipe() و loop.connect_write_pipe() پیاده‌سازی نشده‌اند.

  • زیرفرایندها پشتیبانی نمی‌شوند، یعنی متدهای loop.subprocess_exec() و loop.subprocess_shell() پیاده‌سازی نشده‌اند.

ProactorEventLoop محدودیت‌های زیر را دارد:

  • متدهای loop.add_reader() و loop.add_writer() پشتیبانی نمی‌شوند.

  • loop.connect_read_pipe() و loop.connect_write_pipe() فقط دسته‌ای را می‌پذیرند که برای ورودی/خروجی همپوشانی‌شده (overlapped I/O) بازشده باشد. برای اینکه بدانید کدام اشیاء پشتیبانی می‌شوند، اشیاء پایپ پشتیبانی‌شده را ببینید.

دقت ساعت یکنواخت (monotonic clock) در ویندوز معمولاً حدود ۱۵٫۶ میلی‌ثانیه است. بهترین دقت ۰٫۵ میلی‌ثانیه است. دقت به سخت‌افزار (دسترس‌پذیری HPET) و پیکربندی ویندوز بستگی دارد.

پشتیبانی از زیرفرایند در ویندوز¶

در ویندوز، حلقه رویداد پیش‌فرض ProactorEventLoop از زیرفرآیندها پشتیبانی می‌کند، در حالی که SelectorEventLoop پشتیبانی نمی‌کند.

macOS¶

نسخه‌های جدید macOS به‌طور کامل پشتیبانی می‌شوند.

macOS <= 10.8

در macOS 10.6، 10.7 و 10.8، حلقه رویداد پیش‌فرض از selectors.KqueueSelector استفاده می‌کند، که از دستگاه‌های نویسه‌ای در این نسخه‌ها پشتیبانی نمی‌کند. می‌توان SelectorEventLoop را به‌صورت دستی پیکربندی کرد تا از SelectSelector یا PollSelector استفاده کند و از دستگاه‌های نویسه‌ای در این نسخه‌های قدیمی‌تر macOS پشتیبانی کند. مثال:

import asyncio
import selectors

selector = selectors.SelectSelector()
loop = asyncio.SelectorEventLoop(selector)
asyncio.set_event_loop(loop)
© حق نشر 2001 Python Software Foundation.
این صفحه تحت مجوز بنیاد نرم‌افزار پایتون نسخه ۲ منتشر شده است.
مثال‌ها، دستورالعمل‌ها، و سایر کدهای موجود در مستندات همچنین تحت مجوز بدون بند BSD منتشر شده‌اند.
برای اطلاعات بیشتر به تاریخچه و مجوز مراجعه کنید.

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

آخرین به‌روزرسانی در نوامبر 12, 2026 (06:19 UTC). آیا اشکالی یافتید؟
ساخته شده با Sphinx 9.1.0.
You are visitor 01402520 — 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.