जैसा कि जॉन स्कीट ने उल्लेख किया है, अब सिस्टम में "थ्रेड सुरक्षित" संग्रह हैं। चयन। .NET 4.Concurrent नेमस्पेस .NET 4.
में
एक कारण यह है कि पहले से कोई समवर्ती संग्रह मौजूद नहीं है (कम से कम मेरा अनुमान)।नेट फ्रेमवर्क संस्करण यह है कि एक समवर्ती संग्रह के साथ भी थ्रेड सुरक्षा की गारंटी देना बहुत मुश्किल है।
(यह पूरी तरह सच नहीं है के रूप में कुछ संग्रह एक सिंक्रनाइज़ विधि की पेशकश एक गैर धागा सुरक्षित संग्रह से एक धागा सुरक्षित संग्रह लौटने के लिए तो वहाँ कुछ धागा सुरक्षित संग्रह हैं ...)
उदाहरण के लिए मान गई है एक धागा सुरक्षित शब्दकोश - यदि कोई कुंजी केवल मौजूद नहीं है, तो कुंजी मौजूद नहीं है, तो पहले यह देखने के लिए संग्रह से पूछताछ करेगा कि कुंजी मौजूद है या नहीं, तो कुंजी मौजूद नहीं होने पर कोई डालने वाला होगा। हालांकि, ये दो ऑपरेशन थ्रेड सुरक्षित नहीं हैं, कंटेनकी और क्वेरी ऑपरेशन की क्वेरी के बीच एक और धागा उस कुंजी का एक सम्मिलन कर सकता था इसलिए दौड़ की स्थिति होती है।
अन्य शब्दों संग्रह के संचालन थ्रेड सुरक्षित हैं - लेकिन इसका उपयोग जरूरी नहीं है। इस मामले में थ्रेड सुरक्षा प्राप्त करने के लिए पारंपरिक लॉकिंग तकनीकों (म्यूटेक्स/मॉनिटर/सेमफोर ...) पर वापस संक्रमण करने की आवश्यकता होगी ताकि समवर्ती संग्रह ने आपको बहु-थ्रेडेड सुरक्षा के मामले में कुछ भी नहीं खरीदा है (लेकिन प्रदर्शन के लिए शायद खराब है) ।
ग्रेट प्रतिक्रिया - मैं रडार पर रखने के लिए थोड़ी देर के लिए यह 'अनुत्तरित' छोड़ दूंगा। अगर किसी के पास या तो इस विषय पर खेलने के नेट या पोस्ट पर लेखों के लिए कोई और लिंक है तो कृपया शामिल करें। आप सभी को धन्यवाद। – Andrew