البرمجة غير المتزامنة (برمجة الحاسوب)

يشير مصطلح عدم التزامن في برمجة الحاسوب إلى حدوث أحداث مستقلة عن مسار البرنامج الرئيسي ، وإلى طرق التعامل مع هذه الأحداث. قد تكون هذه الأحداث "خارجية"، مثل وصول الإشارات ، أو إجراءات يبادر بها البرنامج وتتم بالتزامن مع تنفيذه، دون أن يتوقف البرنامج في انتظار النتائج. [ 1 ] يُعد الإدخال/الإخراج غير المتزامن مثالًا على الحالة الأخيرة من عدم التزامن، حيث يسمح للبرامج بإصدار أوامر إلى أجهزة التخزين أو الشبكة التي تستجيب لهذه الطلبات بينما يواصل المعالج تنفيذ البرنامج. يوفر هذا الأسلوب درجة من التزامن . [ 1 ]

تتمثل إحدى الطرق الشائعة للتعامل مع عدم التزامن في واجهة البرمجة في توفير إجراءات فرعية تُعيد قيمة مستقبلية أو وعدًا يُمثل العملية الجارية، وعملية تزامنية تُوقف التنفيذ حتى اكتمال القيمة المستقبلية أو الوعد. تحتوي بعض لغات البرمجة، مثل Cilk ، على صيغة خاصة للتعبير عن استدعاء إجراء غير متزامن. [ 2 ]

تتضمن أمثلة عدم التزامن ما يلي:

  • استدعاء الإجراء غير المتزامن ، وهو أسلوب لتشغيل إجراء بشكل متزامن، وهو بديل خفيف الوزن للخيوط .
  • أجاكس عبارة عن مجموعة من تقنيات الويب من جانب العميل التي يستخدمها العميل لإنشاء تطبيقات ويب للإدخال والإخراج غير المتزامن .
  • يُعدّ إرسال الأساليب غير المتزامن (AMD) أسلوبًا لنقل البيانات يُستخدم عندما يحتاج الخادم إلى معالجة عدد كبير من طلبات العميل طويلة الأمد. [ 3 ] في حالة استخدام إرسال الأساليب المتزامن (SMD)، قد يتحول الخادم إلى حالة انشغال غير متاحة، مما يؤدي إلى فشل الاتصال بسبب انتهاء مهلة طلب اتصال الشبكة . يتم إرسال معالجة طلب العميل فورًا إلى مؤشر ترابط متاح من مجموعة مؤشرات الترابط ، ويتم وضع العميل في حالة حظر. عند اكتمال المهمة، يتم إخطار الخادم عبر دالة رد نداء. يقوم الخادم بإلغاء حظر العميل وإرسال الاستجابة إليه. في حالة نقص مؤشرات الترابط ، يتم حظر العملاء في انتظار توفر مؤشرات الترابط.

انظر أيضاً

مراجع

  1. 1 2 ديفيز، أليكس (2012). البرمجة غير المتزامنة في لغة سي شارب 5.0 . أورايلي. الصفحات 1-2 . ISBN  9781449337124.
  2. ماكول، مايكل؛ ريندرز، جيمس؛ روبيسون، آرتش (2013). البرمجة المتوازية المهيكلة: أنماط للحوسبة الفعالة . إلسيفير. ص 30. 
  3. استخدام ICE من AMD .