بيت تطوير ما هو الموتكس؟ - تعريف من techopedia

ما هو الموتكس؟ - تعريف من techopedia

جدول المحتويات:

Anonim

تعريف - ماذا يعني موتكس؟

Mutex ، في C # ، هي فئة معرفة في مكتبة فئة .NET Framework والتي يمكن استخدامها لمنع التنفيذ المتزامن لكتلة من التعليمات البرمجية بواسطة عدة مؤشرات ترابط يتم تشغيلها في عمليات فردية أو متعددة.


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


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


Mutex هو شكل مختصر من الحصرية المتبادلة.

تيكوبيديا يوضح موتكس

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


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


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


بينما يمكن استخدام عبارات القفل لمزامنة مؤشرات الترابط ضمن عملية واحدة ، يتم استخدام كائن المزامنة (mutex) عبر حدود العملية.


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

تمت كتابة هذا التعريف في سياق C #

ما هو الموتكس؟ - تعريف من techopedia