الفرق بين موتكس والحدث الفرق بين

Anonim

موتكس مقابل الحدث

في C #، هناك الكثير من خيارات مزامنة سلاسل الترابط المختلفة. اثنين أكثر استخداما على نطاق واسع هي موتكس والحدث. فقط بالضبط ما هو الفرق بين هذين؟ أي واحد هو الخيار الأفضل؟

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

"موتكس" تقف على الاستبعاد المتبادل. وهو شكل من أشكال آلية التنسيق الواسعة النطاق للموارد المشتركة. فكر في الأمر كشكل من أشكال المعاملات. أنت لست مضطرا للانتظار على الرغم من أنك تريد الوصول إلى بعض الموارد المشتركة (فقط في حالة أن الآخرين بالفعل الوصول إليه) كنت حظر. ويتكون الموتكس من دولتين على الرغم من وجوده لوضع الاستبعاد المتبادل موضع التنفيذ. هذا هو عندما تريد حماية امتداد التعليمات البرمجية الذي عادة بتحديث مورد مشترك من الجزء الذي يتم مطالبة موتمكس إلى الجزء الذي سيتم إصداره. هذا يؤدي إلى حقيقة أنه لا يمكن أن تمر أي موضوع آخر من خلال القسم.

كان الأشخاص الذين حاولوا محاكاة حدث بمساعدة من موتكس أن يواجهوا المشكلة حيث بمجرد الحصول على القفل أو الإشارة إلى الحدث، فإن الشخص يبقي الجميع على ما يصل حتى يتم تحرير القفل. هذه ليست دلالات الحدث الذي يتم الإشارة إليه. قد يتم نشر الحدث وسيتم توفير نموذج من البوابة لجميع اختبارات الترابط في حالة عدم وجود أي تأمين. موتكس ملتزمة التزامن إنتيربروسيس في كائن وضع كيرنيل. والأحداث التي يتم إجراؤها من أجل التزامن متعدد الوصلات تحت أسلوب واحد هي في كائن أسلوب المستعمل.

كائن موتكس ثقيل جدا وعمومي جدا. أشياء الحدث أخف بكثير. يتم استخدام مزامنة وضع المستخدم في معظم الحالات بسبب السبب في أنه يعطي دورات بو أقل. موتكس يشبه إلى حد كبير قسم حرج ويستخدم لمزامنة الوصول إلى الموارد التي يتم تقاسمها. الأحداث لها وظيفة مختلفة تماما لأنها تستخدم لمزامنة المهام أو لإدارة جدولة المهام لبعض الناس.

الأحداث هي أكثر من متغير شرط، على عكس موتكس، وهو أشبه

رصد في بعض المصطلحات، أو يمكن أن يكون شكل تقليدي سيمافور / موتكس.

ملخص:

1. الخيار الحدث هو قادرة على إعطاء المواضيع خيار لمنع حتى يتم بث الحدث، وبالتالي اسم "الحدث. "

2. الحدث هو في الأساس كائن النواة وجود دولتين. عادة، يشير الحدث إلى مجيء الحدث وحتى في بعض الأحيان حتى نهاية عملية الإدخال / الإخراج.

3. "موتكس" لتقف على الاستبعاد المتبادل. وهو شكل من أشكال آلية التنسيق الواسعة النطاق للموارد المشتركة.

4. موتكس ملتزمة التزامن إنتيربروسيس في كائن وضع كيرنيل. والأحداث التي يتم إجراؤها من أجل التزامن متعدد الوصلات تحت أسلوب واحد هي في كائن أسلوب المستعمل.

5. الأحداث هي أكثر من متغير شرط، على عكس موتكس، وهو أشبه

رصد في بعض المصطلحات، أو يمكن أن يكون شكل تقليدي من سيمافور / موتكس.