मैं नेट पर नए समानांतर ढेर के संदर्भ में BlockingCollection का उद्देश्य समझने की कोशिश कर रहा 4.क्या BlockingCollection (टी के) का उद्देश्य है
MSDN प्रलेखन कहते हैं:
ब्लॉकिंग कोलेक्शन को एक आईपॉडसरकंसमेरकॉलेक्शन इंस्टेंस के लिए रैपर के रूप में उपयोग किया जाता है, जिससे संग्रह को हटाने के लिए डेटा को तब तक अवरुद्ध करने की अनुमति मिलती है जब तक डेटा को निकालने के लिए उपलब्ध नहीं होता है। इसी प्रकार, IProducerConsumerCollection में अनुमत डेटा तत्वों की संख्या पर ऊपरी-बाध्य को लागू करने के लिए अवरोधक चयन किया जा सकता है; संग्रह के अतिरिक्त प्रयास तब तक अवरुद्ध हो सकते हैं जब तक अतिरिक्त आइटम स्टोर करने के लिए स्थान उपलब्ध न हो।
लेकिन जब मैं कुछ IProducerConsumerCollection के कार्यान्वयन को देखो, ConcurrentQueue की तरह मुझे लगता है कि वे एक ताला मुक्त, सुरक्षित धागा, कार्यान्वयन प्रदान करते हैं। तो ब्लॉकिंग कोलेक्शन प्रदान करने वाले लॉक तंत्र की आवश्यकता क्यों है? एमएसडीएन में सभी उदाहरण ब्लॉकिंग कोलेक्शन रैपर के माध्यम से उन संग्रहों का उपयोग करते हुए दिखाते हैं, उन संग्रहों का उपयोग करने की क्या समस्याएं हैं? ब्लॉकिंग कोलेक्शन का उपयोग करके क्या लाभ पैदा करता है?
मुझे कहीं भी नहीं मिल रहा है - "अवरुद्ध" का अर्थ क्या है, क्या यह "प्रतीक्षा" करने के बजाय "अनदेखा" कर रहा है? – Fulproof
"अवरुद्ध" का अर्थ है "ऑपरेशन पूरा होने तक प्रतीक्षा करें" – Thilo