Mutex اور سمفور کے درمیان فرق

Anonim

ملکس بمقابلہ سیمفور

ایک متقابلہ ایک ہی کلیدی کو ایک ہی کمرے میں ملتا ہے. ایک شخص جو دھاگے پر رکھتا ہے، جو دھاگے کے مطابق ہے، صرف ایک ہی ہے جو کمرے تک پہنچ سکتا ہے. اس تک رسائی حاصل کرنے والے شخص کو اس سلسلے میں اگلے شخص کو کلیدی طور پر دینا ہوگا. لہذا، ایک ملبے صرف اس موضوع کی طرف سے جاری کیا جا سکتا ہے جو اسے حاصل کرتا ہے.

ایک mutex عام طور پر ریفریجریٹر کوڈ کے ایک حصے تک رسائی سیریلائز کرنے کے لئے استعمال کیا جاتا ہے '' ایک قسم کا کوڈ جس میں کئی موضوعات کی طرف سے ایک ہی بار میں پھانسی نہیں مل سکی. صرف ایک ہی موضوع کو ایک سیکشن میں اجازت دی جاتی ہے. اس سلسلے میں دوسرا سلسلہ انتظار کرنا ہے. دھاگے کے حصول تک پہنچنے سے پہلے، اسے اس حصے سے قبل اس موضوع سے پہلے ہی موضوع تک انتظار کرنا پڑے گا.

متقابلی طور پر متقابلی طور پر استعمال کرتے ہوئے، سیمفورسس اسی طرح کے چابیاں ہیں جو اسی کمرے میں اسی تالے کے ساتھ تک رسائی حاصل کرسکتے ہیں. ایک سمفورور یا سیمفورور کا شمار کی قدر لوگوں کی تعداد (موضوعات) پر منحصر ہے جو کمرے سے باہر نکلنے یا باہر نکلیں گے. اگر 5 کمرہ ہیں اور وہ سب پر قبضہ کر رہے ہیں تو، سیمفاور نمبر صفر ہے. اگر دو کمرے سے باہر نکلیں، تو شمار دو ہے اور قطار میں دو دو چابیاں دیئے گئے ہیں.

اس کے ساتھ کہا جا رہا ہے کہ، کسی بھی موضوع یا پروسیسنگ کے لحاظ سے سیمفارفروں کو معاون طور پر نشانہ بنایا جاسکتا ہے اور ان کی درخواستوں کے لئے مثالی طور پر مطابقت پذیر ہوتی ہے. تاہم، سیمفورس استعمال کرنے کے لئے استعمال کیا جاتا ہے مؤثر طور پر زیادہ سے زیادہ سیمفورٹ شماروں پر مبنی عام وسائل کے سمورو صارفین کی تعداد میں محدود.

تو بنیادی طور پر، ایک مربع ایک سیمفورور کے طور پر سمجھا جا سکتا ہے جس کی قیمت ایک ہے.

سیمفورٹ کی کمی اور اضافہ اس پر منحصر ہے کہ آیا عام ذرائع کو رسائی حاصل کرنے یا سیکشن کو چھوڑنے کی درخواست کر رہے ہیں.

نظریہ میں، mutex اور (بائنری) سیمفافٹ سیمیاتی طور پر اسی طرح ہیں. mutex کا استعمال سمففورس کا استعمال کرتے ہوئے کیا جا سکتا ہے اور اس کے ارد گرد دوسرا راستہ ہے. تاہم، عملی طور پر، وہ تھوڑا سا مختلف ہوسکتے ہیں.

Mutexes کا مقصد باہمی علیحدگی کے لئے صرف لاگو ہوتا ہے اور بائنری سیمفورس کو باہمی اخراج اور ایونٹ نوٹیفیکیشن کے لئے استعمال کرنا ہے. اگرچہ وہ عملدرآمد اور عام سیمنکس کے لحاظ سے بہت ہی ملتے جلتے ہیں، وہ مختلف طور پر استعمال کیا جاتا ہے.

خلاصہ:

1. Mutex عام طور پر ایک عام وسائل تک رسائی سیریلائز کرنے کے لئے استعمال کیا جاتا ہے جبکہ سیمفورور کئی متعدد رسائی حاصل کرتا ہے.

2. Mutex ایک کی تعداد کے ساتھ ایک سیمفورور کی طرح ہے.

3. Mutex صرف ایک واحد دھاگے تک رسائی حاصل کرنے کی اجازت دیتا ہے جبکہ سیمفارفر کسی بھی موضوع یا پروسیسر کے ساتھ ساتھ ساتھ ساتھ دستخط کیا جا سکتا ہے.

4. سمفورڈ ہم آہنگی کے لئے مثالی ہیں اور اکثر ایونٹ نوٹیفکیشن اور باہمی طور پر علیحدگی کے لئے استعمال کرتے ہیں جبکہ mutex صرف باہمی علیحدگی کے لئے لاگو کیا جاتا ہے.