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