मैं मुख्य रूप से IDisposable
पैटर्न का पालन करता हूं, और अधिकांश वर्गों के लिए उचित है। लेकिन ReaderWriterLockSlim
ने मुझे इस तरह के पैटर्न को लागू करने की व्यवहार्यता पर सवाल उठाया। सभी ReaderWriterLockSlim.Dispose
कुछ घटना हैंडल बंद है। तो Dispose
इतनी कम संसाधनों के साथ इस वर्ग के लिए कितना महत्वपूर्ण है? इस मामले में, मुझे वास्तव में कोई फर्क नहीं पड़ता कि जीसी को अप्रबंधित संसाधनों के फाइनलरों को खत्म करने के लिए एक और दौर का इंतजार करना पड़ा।रीडरवाइटर लॉकस्लिम कैसे 'डिस्पोजेबल' है?
IDisposable
पैटर्न लागू करने का नतीजा काफी हद तक है, लेकिन डिस्पोजेबल क्लास का उपयोग करने वाले प्रत्येक वर्ग को अब IDisposable
लागू करना होगा। मेरे विशेष मामले में, मैं HashSet
के लिए एक रैपर लागू कर रहा हूं। मैं विशेष रूप से इस तरह के ऑब्जेक्ट को निपटाने की आवश्यकता की अपेक्षा नहीं करता क्योंकि, गलती से, यह सिंक्रनाइज़र का उपयोग करता है जो करता है।
क्या इस मामले में डिस्पोजेबल पैटर्न का उल्लंघन न करने के कोई कारण हैं? जबकि मैं उत्सुक हूं, मैं अभ्यास में ऐसा नहीं करता, क्योंकि स्थिरता का उल्लंघन करना बहुत खराब है।
आपकी समस्या यह है कि आप एक गैर स्थैतिक लॉक का उपयोग कर रहे हैं जिसमें आपकी वस्तुओं के समान जीवनकाल है? –
@NathanCooper - लगभग, हाँ। प्रत्येक पढ़ने/लिखने के संचालन के लिए लॉक को तत्काल सक्षम करना वास्तव में कुशल नहीं है। मैं 'मॉनीटर' का उपयोग कर सकता हूं, लेकिन मुझे लॉक कफॉय के लिए चिंता है। – toplel32
ताकि आप कुछ पढ़ रहे हों या लिख रहे हों और यह स्थिर नहीं है? तो यह प्रत्येक उदाहरण के लिए कुछ संसाधन है। –