सिंक्रोनाइज़ेशन का उपयोग करके, आप मल्टीथ्रेडेड एप्लिकेशन में संसाधनों तक पहुंच को सिंक्रनाइज़ कर सकते हैं।
एक म्यूटेक्स का उपयोग सभी प्रक्रियाओं में थ्रेड्स को सिंक्रोनाइज़ करने के लिए किया जा सकता है। एक समय में एक से अधिक थ्रेड द्वारा कोड के ब्लॉक के एक साथ निष्पादन को रोकने के लिए इसका उपयोग करें।
C# लॉक स्टेटमेंट का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि कोड का एक ब्लॉक अन्य थ्रेड्स द्वारा बिना किसी रुकावट के चलता है। किसी दिए गए ऑब्जेक्ट के लिए कोड ब्लॉक की अवधि के लिए एक पारस्परिक-बहिष्करण लॉक प्राप्त किया जाता है।
सी # में थ्रेड पूल धागे का संग्रह है। इसका उपयोग बैकग्राउंड में कार्य करने के लिए किया जाता है। जब कोई थ्रेड किसी कार्य को पूरा करता है, तो उसे उस कतार में भेजा जाता है जिसमें सभी प्रतीक्षारत थ्रेड मौजूद होते हैं। ऐसा इसलिए किया जाता है ताकि इसका दोबारा इस्तेमाल किया जा सके।
आइए देखें कि थ्रेड पूल कैसे बनाया जाता है।
सबसे पहले, निम्न नाम स्थान का उपयोग करें -
using System.Threading;
अब, थ्रेडपूल ऑब्जेक्ट का उपयोग करके थ्रेडपूल क्लास को कॉल करें। QueueUserWorkItem विधि को कॉल करें।
ThreadPool.QueueUserWorkItem(new WaitCallback(Run));
C# में Mutex क्लास एक सिंक्रोनाइज़ेशन प्रिमिटिव है जिसका उपयोग इंटरप्रोसेस सिंक्रोनाइज़ेशन के लिए भी किया जा सकता है।
आइए देखें कि एक नया म्यूटेक्स कैसे बनाया जाता है -
private static Mutex m = new Mutex();