23
सी # डिक्शनरी एक्सेस थ्रेड को सुरक्षित बनाने का सबसे आसान तरीका क्या है? अधिमानतः बस लॉक (ऑब्जेक्ट) का उपयोग कर लेकिन किसी अन्य विचार का स्वागत है!शब्दकोश थ्रेड-सुरक्षित एक्सेस करना चाहते हैं?
सी # डिक्शनरी एक्सेस थ्रेड को सुरक्षित बनाने का सबसे आसान तरीका क्या है? अधिमानतः बस लॉक (ऑब्जेक्ट) का उपयोग कर लेकिन किसी अन्य विचार का स्वागत है!शब्दकोश थ्रेड-सुरक्षित एक्सेस करना चाहते हैं?
.NET 4 में आपके पास ConcurrentDictionary कक्षा है।
यह अपने आप को लिखने के लिए आप नेट के एक पुराने संस्करण का उपयोग करने के लिए, और चाहते हैं की जरूरत है:
private object lockObject
बस आश्चर्य के लिए हर पहुँच के आसपास है कि
lockObject
पर एक ताला ले, क्यों "एक अलग ताला वस्तु का उपयोग करें"? – MFatihMAR@MonoLightTech - थोड़ा सैद्धांतिक, लेकिन यदि डिक्शनरी क्लास के अंदर कोड या बाहरी कोड जिसे संग्रह को 'देखने' की आवश्यकता होती है, उस पर भी ताले लगाते हैं, तो आपके पास डेडलॉक हो सकता है। चिंताओं को अलग करने का प्रयोग करें: लॉकऑब्जेक्ट केवल लॉकिंग के लिए है। –