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