این یه دورهی کوتاه و سادهست برای آشنایی با برنامهنویسی غیرهمزمان در پایتونه. هدفش اینه که مفهوم async و await رو بدون پیچوندن یاد بگیری و بتونی توی پروژههای واقعی استفادهشون کنی.
همهچیز به زبان ساده گفته شده، با مثالهای کمحرف و پرمعنی.
برای شروع این دوره، فقط باید با پایتون مقدماتی راحت باشی. یعنی:
- بتونی تابع بنویسی و ازش استفاده کنی.
- با مفهوم تابع بازگشتی، متغیرها، حلقهها و شرطها آشنا باشی.
- بدونی ماژول چیه و چطور
importمیکنن. - با ساختار فایلهای
.pyو اجرای برنامهها از ترمینال یا VS Code آشنا باشی.
اگر پایتون رو قبلاً تا سطح مقدماتی یاد گرفتی، همین کافیه. نیازی به تجربهٔ پیشرفته یا آشنایی با threading، شبکه یا async نداری. اونها رو توی همین دوره قدمبهقدم یاد میگیری.
- مقدمهای بر برنامهنویسی غیرهمزمان
- مفهوم انتظار و زمان بیکاری در برنامهنویسی
- مفهوم وظیفه (Task) و حلقهی رویداد (Event Loop)
- async و await دقیقاً چطور کار میکنن
- دانلود همزمان چند فایل با asyncio
- ماجرای event loop و چطور کار میکنه
- کار با ورودی و خروجی غیرهمزمان (Async I/O در عمل)
- مدیریت تسکها و خطاها در asyncio
- طراحی و ساختاردهی برنامههای async در پایتون
- تستنویسی برای کدهای async در پایتون
- ساخت یک downloader همزمان با asyncio
- مدیریت همزمانی با Queue، Lock و Semaphore در asyncio
- اجرای کدهای بلاکشونده در برنامههای Async
- مدیریت زمان و تایماوت در asyncio
- لغو تسکها و پاکسازی منابع در asyncio
- صفهای همزمان (Async Queues) و الگوی Producer–Consumer
- صفهای اولویتدار (PriorityQueue) و زمانبندی کارها
- اجرای دورهای تسکها و زمانبندی (Periodic Tasks & Scheduling)
- طراحی سیستمهای پیشرفته background tasks در asyncio
- ورودی و خروجی شبکهای بهصورت ناهمگام (Async Network I/O)
- الگوهای پیشرفته همزمانی — Fan-in / Fan-out، Pipeline، Queue و Event
این پروژه بازه و مشارکت توش آزاده. اگر ایرادی دیدی یا پیشنهادی داشتی، خوشحال میشم که پولریکوئست بدی یا توی Issues بنویسی.
کدها و مثالها با Python 3.12+ تست شدن، پس قبل از اجرا مطمئن شو نسخهت بهروز باشه.