ReaderWriterLock किसी संसाधन तक पहुंच को सिंक्रनाइज़ करता है।
एक रीडरवाइटर लॉक में मॉनिटर की तुलना में बेहतर थ्रूपुट होता है, जो एक बार में एक लॉक होता है। यह उस स्थिति के लिए काम करता है जब संसाधन शायद ही कभी बदला जाता है।
आइए देखें कि C# में ReaderWriter लॉक को कैसे घोषित किया जाए -
static ReaderWriterLock r = new ReaderWriterLock();
C# में ReaderWriter लॉक के गुण निम्नलिखित हैं -
क्रमांक | संपत्ति और विवरण |
1 | <टीडी>
IsReaderLockHeld
यह इंगित करने वाला मान प्राप्त करता है कि वर्तमान थ्रेड में रीडर लॉक है या नहीं।
2 | <टीडी>
IsWriterLockHeld
एक मान प्राप्त करता है जो दर्शाता है कि वर्तमान थ्रेड में राइटर लॉक है या नहीं।
3 | <टीडी>
WriterSeqNum
वर्तमान क्रम संख्या
ReaderWriter लॉक के कुछ तरीके निम्नलिखित हैं -
क्रमांक | <वें शैली="पाठ्य-संरेखण:केंद्र">विधि और विवरण वें>
1 | <टीडी>
AcquireReaderLock(TimeSpan)
टाइम-आउट के लिए TimeSpan मान का उपयोग करके रीडर लॉक प्राप्त करता है।
2 | <टीडी>
AcquireWriterLock(TimeSpan)
टाइम-आउट के लिए TimeSpan मान का उपयोग करके राइटर लॉक प्राप्त करता है।
3 | <टीडी>
बराबर(वस्तु)
निर्धारित करता है कि निर्दिष्ट वस्तु वर्तमान वस्तु के बराबर है या नहीं।(वस्तु से विरासत में मिला।)
4 | <टीडी>
गेटहैशकोड ()
डिफ़ॉल्ट हैश
5 | <टीडी>
गेट टाइप ()
वर्तमान उदाहरण का प्रकार
6 | <टीडी>
रिलीज रीडर लॉक ()
लॉक काउंट में कमी