الاستبعاد المتبادل (Mutex)

مؤلف: Lewis Jackson
تاريخ الخلق: 8 قد 2021
تاريخ التحديث: 4 قد 2024
Anonim
Mutex In C++ Threading
فيديو: Mutex In C++ Threading

المحتوى

التعريف - ماذا يعني الاستبعاد المتبادل (Mutex)؟

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


مقدمة إلى Microsoft Azure و Microsoft Cloud | من خلال هذا الدليل ، سوف تتعلم ما هي الحوسبة السحابية التي تدور حولها وكيف يمكن أن يساعدك Microsoft Azure على ترحيل عملك وإدارته من السحابة.

تيكوبيديا توضح الاستبعاد المتبادل (موتكس)

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

يعد تعطيل المقاطعات لأقل عدد من الإرشادات هو أفضل طريقة لفرض كائن المزامنة على مستوى kernel ومنع تلف بنيات البيانات المشتركة. إذا كانت هناك معالجات متعددة تشترك في نفس الذاكرة ، فسيتم تعيين علامة لتمكين وتعطيل عملية الحصول على الموارد حسب توفرها. آلية الانتظار المزدحم تفرض mutex في مجالات البرامج. هذا مزود بخوارزميات مثل خوارزمية Dekkers ، خوارزمية المخابز السوداء والبيضاء ، خوارزمية Szymanskis ، خوارزمية Petersons وخبز Lamports.


يمكن تعريف القراء الحصريين المتبادلين ورموز فئة مزامنة القراءة / الكتابة من أجل التنفيذ الفعال للمزج.