क्या नक्शा प्रकार धागा सुरक्षित है? मेरे पास एक ऐसा प्रोग्राम है जिसमें कई प्रकार के गोरोटिन पढ़ रहे हैं और मानचित्र प्रकार पर लिख रहे हैं। अगर मुझे सुरक्षा तंत्र को लागू करने की आवश्यकता है, तो इसे करने का सबसे अच्छा तरीका क्या है?क्या नक्शा संरचना धागा-सुरक्षित है?
12
A
उत्तर
14
आप goroutines का उपयोग करना चाहते हैं और channels के माध्यम से अपने मानचित्र तक पहुंच सिंक्रनाइज़ करना चाहते हैं। the FAQ से स्पष्टीकरण:
लंबे चर्चा के बाद यह निर्णय लिया गया है कि नक्शे के विशिष्ट प्रयोग से अधिक थ्रेड से सुरक्षित पहुंच की आवश्यकता नहीं किया था, और उन मामलों जहां यह किया है, नक्शा शायद कुछ बड़े डेटा का हिस्सा था संरचना या गणना जो पहले ही सिंक्रनाइज़ थी। इसलिए सभी नक्शा संचालनों को पकड़ने के लिए एक म्यूटेक्स अधिकतर कार्यक्रमों को धीमा कर देगा और कुछ सुरक्षा को जोड़ देगा। यह एक आसान निर्णय नहीं था, हालांकि, इसका मतलब है कि अनियंत्रित मानचित्र पहुंच प्रोग्राम को क्रैश कर सकती है।
भाषा परमाणु मानचित्र अपडेट को रोक नहीं है। जब आवश्यक हो, तो एक अविश्वसनीय प्रोग्राम की मेजबानी करते समय, कार्यान्वयन इंटरलॉक मानचित्र पहुंच सकता है।
1
संबंधित मुद्दे
- 1. क्या कोई नक्शा नक्शा कार्यान्वयन है जो निकटतम निहित कुंजी
- 2. क्या संरचना मैप है?
- 3. फ़िल्टर जटिल आंतरिक संरचना के साथ एक नक्शा
- 4. क्या यह एक नक्शा व्यू बग है?
- 5. नक्शा
- 6. नक्शा
- 7. नक्शा
- 8. संरचना - इसके लिए क्या है?
- 9. सोनार डेटाबेस संरचना क्या है?
- 10. सी ++ नक्शा मिटाएं()
- 11. स्थिर संरचना और सामान्य संरचना के बीच क्या अंतर है?
- 12. std :: नक्शा डालने या std :: नक्शा ढूंढें?
- 13. हास्केल परिवर्तनशील नक्शा/पेड़
- 14. आप एक नक्शा कैसे शुरू करते हैं जो संरचना के रूप में मूल्य लेता है?
- 15. कॉपी std :: नक्शा डेटा एक और नक्शा
- 16. क्लोजर आलसी नक्शा से आलसी नक्शा
- 17. नक्शा इटेटर
- 18. 'संरचना' से एक 'संरचना संरचना' अलग कैसे होती है?
- 19. नक्शा Haskell
- 20. नक्शा कैसे
- 21. MIDI फ़ाइल की संरचना क्या है?
- 22. क्या भाषाओं में लूपिंग संरचना नहीं है?
- 23. हीप डेटा संरचना का उपयोग क्या है?
- 24. इस डेटा संरचना में क्या गड़बड़ है?
- 25. क्या नेट में "सेट" डेटा संरचना है?
- 26. संरचना में "एस" का क्या अर्थ है?
- 27. क्या जावा में "LinkedConcurrentHashMap" डेटा संरचना है?
- 28. सी में "पैक" संरचना क्या है?
- 29. हास्केल आईओ सहभागिता और नक्शा
- 30. , क्या मैं एक संरचना
यह बुद्धिमान है लेकिन उन्हें अभी भी दस्तावेज और बनाए रखना चाहिए कि कौन से फ़ंक्शन थ्रेड सुरक्षित हैं। अक्सर मैं कोड में चला जाता हूं जहां पास 1 में मैं मूल्यों के साथ एक नक्शा भरता हूं और पास 2 में मैं इसे एक ही सिंक्रनाइज़ेशन के बिना कई अलग-अलग धागे से समवर्ती रूप से पढ़ता हूं। – Lothar
गो शैली साझा म्यूटेबल राज्य का उपयोग करके कभी भी दृढ़ता से भारित लगती है। यदि आप केवल विभिन्न धागे से मानचित्र पढ़ रहे हैं तो आपको ठीक होना चाहिए। (हालांकि यह पूरी तरह से कहने के बिना नहीं जाता है; वहां व्यावहारिक मानचित्र कार्यान्वयन हैं जो तार्किक पाठों पर शारीरिक रूप से उत्परिवर्तित होते हैं ...) – poolie