सिंक्रोनाइज़ेशन का उपयोग करके मल्टीथ्रेडेड एप्लिकेशन में संसाधनों तक पहुंच को सिंक्रोनाइज़ करें।
थ्रेड्स को सिंक्रोनाइज़ करने के लिए म्यूटेक्स
प्रक्रियाओं में धागे को सिंक्रनाइज़ करने के लिए एक म्यूटेक्स का उपयोग किया जा सकता है। एक समय में एक से अधिक थ्रेड द्वारा कोड के ब्लॉक के एक साथ निष्पादन को रोकने के लिए इसका उपयोग करें।
C# लॉक स्टेटमेंट का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि कोड का एक ब्लॉक अन्य थ्रेड्स द्वारा बिना किसी रुकावट के चलता है। किसी दिए गए ऑब्जेक्ट के लिए कोड ब्लॉक की अवधि के लिए एक पारस्परिक-बहिष्करण लॉक प्राप्त किया जाता है।
एक लॉक स्टेटमेंट एक ऑब्जेक्ट को तर्क के रूप में प्राप्त करता है। "लॉक" को दिया गया पैरामीटर संदर्भ प्रकार के आधार पर एक ऑब्जेक्ट होना चाहिए -
public class Demo { private System.Object myLock = new System.Object(); public void Process() { lock (myLock) { } } }
C# में Mutex क्लास एक सिंक्रोनाइज़ेशन प्रिमिटिव है जिसका उपयोग इंटरप्रोसेस सिंक्रोनाइज़ेशन के लिए भी किया जा सकता है।
आइए देखें कि एक नया म्यूटेक्स कैसे बनाया जाता है -
private static Mutex m = new Mutex();