Skip to content

الفصل 12: البرمجة غير المتزامنة

📖 المستوى: متوسط  |  ⏱ الوقت المقدّر: 50 دقيقة  |  📝 تمارين: 5

ما ستتعلم في هذا الفصل

  • مفهوم البرمجة غير المتزامنة
  • غير_متزامن و انتظر
  • تنفيذ عمليات متوازية
  • التعامل مع أخطاء العمليات غير المتزامنة

12.1 لماذا البرمجة غير المتزامنة؟

عند تنفيذ عملية بطيئة (قراءة ملف، طلب شبكة)، لا نريد أن يتوقف البرنامج بالكامل. البرمجة غير المتزامنة تسمح بتنفيذ عمليات أخرى أثناء الانتظار.


12.2 غير_متزامن / انتظر

sad
غير_متزامن دالة جلب_بيانات(رابط)
    اطبع_سطر("جارٍ الجلب من: " + رابط)
    متغير الرد = انتظر طلب_http(رابط)
    ارجع الرد
نهاية

غير_متزامن دالة رئيسية()
    متغير بيانات = انتظر جلب_بيانات("https://api.example.com/users")
    اطبع_سطر("تم الجلب: " + بيانات)
نهاية

رئيسية()

12.3 تنفيذ عمليات متعددة

sad
غير_متزامن دالة مهمة(اسم، مدة)
    اطبع_سطر("بدء: " + اسم)
    # محاكاة عملية بطيئة
    انتظر تأخير(مدة)
    اطبع_سطر("انتهاء: " + اسم)
    ارجع اسم + " — مكتمل"
نهاية

غير_متزامن دالة رئيسية()
    # تشغيل عمليات متوازية
    متغير نتيجة1 = مهمة("تحميل صورة"، 2000)
    متغير نتيجة2 = مهمة("جلب بيانات"، 1500)

    اطبع_سطر(انتظر نتيجة1)
    اطبع_سطر(انتظر نتيجة2)
نهاية

12.4 معالجة أخطاء غير متزامنة

sad
غير_متزامن دالة جلب_آمن(رابط)
    حاول
        متغير الرد = انتظر طلب_http(رابط)
        ارجع الرد
    امسك (خطأ)
        اطبع_سطر("❌ فشل الجلب: " + خطأ)
        ارجع لاشيء
    نهاية
نهاية

تمارين

تمرين 1: جلب متعدد

اكتب دالة تجلب بيانات من 3 روابط مختلفة بالتوازي.


مُرخَّص بموجب رخصة MIT