ReaderWriterLock किसी संसाधन तक पहुंच को सिंक्रनाइज़ करता है।
एक ReaderWriterLock का थ्रूपुट Monitor से बेहतर होता है, जो एक समय में एक लॉक होता है। यह उस स्थिति के लिए काम करता है जब कोई संसाधन शायद ही कभी बदला जाता है।
आइए देखें कि 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 | Equals(Object) निर्दिष्ट ऑब्जेक्ट वर्तमान ऑब्जेक्ट के बराबर है या नहीं निर्धारित करता है। (Object से विरासत में मिला।) |
| 4 | GetHashCode() डिफ़ॉल्ट हैश |
| 5 | GetType() वर्तमान इंस्टेंस का प्रकार |
| 6 | ReleaseReaderLock() लॉक काउंट घटाता है |