यह std::map
की थ्रेड सुरक्षा के बारे में है। अब, एक साथ पढ़ने थ्रेड-सुरक्षित हैं लेकिन लिखते नहीं हैं। मेरा सवाल यह है कि यदि मैं हर बार मानचित्र में अद्वितीय तत्व जोड़ता हूं, तो क्या यह थ्रेड-सुरक्षित होगा?सी ++ मानचित्रों की थ्रेड-सुरक्षा
तो, एक उदाहरण के लिए, यदि मैं यह
std:map<int, std::string> myMap
की तरह एक नक्शा है और मैं हमेशा नए चाबियाँ जोड़ने और मौजूदा मुख्य मान को संशोधित कभी नहीं, कि धागे की सुरक्षित हो जाएगा?अधिक महत्वपूर्ण बात यह है कि क्या मुझे कोई यादृच्छिक रन-टाइम व्यवहार मिलेगा?
नई कुंजी जोड़ना भी संशोधन माना जाता है? यदि जोड़ने के दौरान चाबियाँ हमेशा अलग होती हैं, तो क्या यह थ्रेड-सुरक्षित नहीं होना चाहिए क्योंकि यह स्मृति के एक स्वतंत्र भाग को संशोधित करता है?
धन्यवाद शिव
नहीं, यह धागा सुरक्षित नहीं होगा, क्योंकि दो धागे एक ही स्थान पर दो (अद्वितीय) आइटम जोड़ सकते हैं जो एक ही स्थान पर जाएंगे। –
मानक कंटेनरों से आप जिस थ्रेड सुरक्षा की अपेक्षा कर सकते हैं वह यह है कि यदि कंटेनर कभी संशोधित नहीं होता है और प्रत्येक धागा ** ** अलग ** तत्व तक पहुंचता है (पढ़ता है या लिखता है), तो यह ठीक होना चाहिए। –