म्यूटेक्स उदाहरण और स्पष्टीकरण
म्यूटेक्स, या पारस्परिक बहिष्करण ऑब्जेक्ट, मल्टीथ्रेडेड वातावरण में साझा संसाधनों तक पहुंच को नियंत्रित करने के लिए एक तंत्र प्रदान करते हैं। उनके ऑपरेशन को समझना चुनौतीपूर्ण हो सकता है, क्योंकि उनका सिंटैक्स पहली नज़र में उल्टा लग सकता है। खुद ही लॉक किया जा रहा है. हालाँकि, यह म्यूटेक्स नहीं है बल्कि इसके द्वारा संरक्षित कोड का क्षेत्र लॉक है। यह अन्य थ्रेड को कोड तक पहुंचने से रोकता है जबकि इसे वर्तमान थ्रेड द्वारा निष्पादित किया जा रहा है। मेमोरी बाड़ जो म्यूटेक्स प्राप्त करने और जारी करने पर स्थापित की जाती हैं। मेमोरी फ़ेंस यह सुनिश्चित करते हैं कि एक थ्रेड द्वारा मेमोरी में किए गए परिवर्तन अन्य थ्रेड्स को समय पर दिखाई दें।
क्रिटिकल सेक्शन
क्रिटिकल सेक्शन म्यूटेक्स के समान नहीं होते हैं। वे केवल विंडोज़ में उपलब्ध हैं और म्यूटेक्स द्वारा संरक्षित कोड क्षेत्रों को संदर्भित करते हैं। महत्वपूर्ण अनुभाग स्वयं समवर्ती पहुंच नियंत्रण प्रदान नहीं करते हैं। #शामिल # शामिल करें एसटीडी::म्यूटेक्स एम; पूर्णांक मैं = 0; शून्य मेकACallFromPhoneBooth() { एम.लॉक(); std::cout
म्यूटेक्स एनालॉजी
अवधारणा की कल्पना करने में मदद के लिए, एक फोन बूथ पर विचार करें जहां कई लोग कॉल करने का प्रयास कर रहे हैं। दरवाज़े का हैंडल म्यूटेक्स का प्रतिनिधित्व करता है। केवल दरवाज़े का हैंडल (म्यूटेक्स बंद) रखने वाला व्यक्ति ही फ़ोन तक पहुंच सकता है (संरक्षित कोड निष्पादित कर सकता है)। एक बार जब वे दरवाज़े के हैंडल को छोड़ देते हैं (म्यूटेक्स को अनलॉक करते हैं), तो कोई अन्य व्यक्ति इसे प्राप्त कर सकता है। मल्टीथ्रेडेड वातावरण में डेटा भ्रष्टाचार और नस्ल की स्थिति।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3