"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्या `const` C++11 में थ्रेड-सुरक्षा की गारंटी देता है?

क्या `const` C++11 में थ्रेड-सुरक्षा की गारंटी देता है?

2024-12-21 को प्रकाशित
ब्राउज़ करें:634

Does `const` Guarantee Thread-Safety in C  11?

क्या C 11 में const का मतलब थ्रेड-सुरक्षित है?

परिचय

C 11 में "थ्रेड-सुरक्षा" की धारणा एक विषय रही है "कॉन्स्ट" की अवधारणा के इर्द-गिर्द चर्चा। यह आलेख कॉन्स्ट और थ्रेड-सुरक्षा के बीच संबंधों का पता लगाता है, गलत धारणाओं को स्पष्ट करता है और भाषा के व्यवहार की गहरी समझ प्रदान करता है।

थ्रेड-सेफ्टी और कॉन्स्ट

शब्द "थ्रेड-सेफ" का तात्पर्य है कि किसी ऑब्जेक्ट को डेटा भ्रष्टाचार पैदा किए बिना कई थ्रेड्स द्वारा समवर्ती रूप से एक्सेस किया जा सकता है। सी 11 मानक डेटा रेस की अनुपस्थिति के आधार पर थ्रेड-सुरक्षा को परिभाषित करता है, जो तब होता है जब दो परस्पर विरोधी क्रियाएं एक ही मेमोरी स्थान तक पहुंचती हैं या संशोधित करती हैं।

सी 11 में, कॉन्स्ट ऑब्जेक्ट से थ्रेड-सुरक्षित संचालन की उम्मीद की जाती है उन पर किया गया प्रदर्शन केवल पढ़ने योग्य माना जाता है। यह अपेक्षा मानक लाइब्रेरी की आवश्यकता से उत्पन्न होती है कि मानक लाइब्रेरी फ़ंक्शंस कॉन्स्ट ऑब्जेक्ट्स पर डेटा दौड़ से बचते हैं। जावा के "सिंक्रोनाइज़्ड" के बराबर। जबकि जावा का "सिंक्रोनाइज़्ड" कीवर्ड स्पष्ट रूप से थ्रेड-सुरक्षा को लागू करता है, C 11 में const केवल यह इंगित करता है कि कोई ऑब्जेक्ट लिखने योग्य नहीं है।

C 11 में थ्रेड-सुरक्षा ताले और परमाणु संचालन जैसे सिंक्रोनाइज़ेशन तंत्र के माध्यम से प्राप्त की जाती है। अकेले कॉन्स्ट थ्रेड-सुरक्षा की गारंटी नहीं देता है; यह केवल एक अनुबंध लागू करता है कि कॉन्स्ट ऑब्जेक्ट पर संचालन केवल पढ़ने के लिए होने की उम्मीद है।

ऑब्जेक्ट डिज़ाइन के लिए निहितार्थ

थ्रेड-सुरक्षा और कॉन्स्ट के बीच अंतर का ऑब्जेक्ट डिज़ाइन पर प्रभाव पड़ता है। यदि किसी ऑब्जेक्ट के डेटा सदस्यों को निर्माण के दौरान अपरिवर्तनीय रूप से सेट किया गया है, तो ऑब्जेक्ट को कॉन्स्ट के रूप में घोषित करने से यह सुनिश्चित होता है कि समवर्ती पहुंच थ्रेड-सुरक्षित है। हालाँकि, यदि किसी ऑब्जेक्ट की स्थिति को संशोधित किया जा सकता है, तो इसे वास्तव में थ्रेड-सुरक्षित बनाने के लिए अतिरिक्त सिंक्रोनाइज़ेशन तंत्र आवश्यक हैं। मानक पुस्तकालय का संदर्भ। यह एक गारंटीकृत थ्रेड-सुरक्षा तंत्र नहीं है, क्योंकि यह केवल-पढ़ने के लिए पहुंच को लागू नहीं करता है। दे

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3