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

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

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