بناء مكتبة حلقة أحداث غير متزامنة صغيرة من الصفر
2025-02-28

يقوم هذا المشروع بتنفيذ مكتبة حلقة أحداث غير متزامنة صغيرة، ولكنها كاملة الميزات، من الصفر لأغراض تعليمية. يعرض المفاهيم الأساسية للبرمجة غير المتزامنة: جدولة وإدارة المهام، ودمج المدخلات/المخرجات مع مآخذ غير مسدودة، ووظائف مهلة الوقت والنوم، وإلغاء المهام، والتزامن القائم على البرامج الفرعية. تستخدم المكتبة البرامج الفرعية القائمة على المولدات في بايثون ونموذج `select` لدمج المدخلات/المخرجات، مما يوفر نموذجًا مبسطًا لكيفية عمل أطر العمل غير المتزامنة الحديثة مثل `asyncio` داخليًا. تعلم السحر وراء `await`، وكيفية عمل `yield from`، وكيف تتواصل البرامج الفرعية مع حلقة الأحداث.