C 11 में "थ्रेड-सुरक्षा" की धारणा एक विषय रही है "कॉन्स्ट" की अवधारणा के इर्द-गिर्द चर्चा। यह आलेख कॉन्स्ट और थ्रेड-सुरक्षा के बीच संबंधों का पता लगाता है, गलत धारणाओं को स्पष्ट करता है और भाषा के व्यवहार की गहरी समझ प्रदान करता है।
शब्द "थ्रेड-सेफ" का तात्पर्य है कि किसी ऑब्जेक्ट को डेटा भ्रष्टाचार पैदा किए बिना कई थ्रेड्स द्वारा समवर्ती रूप से एक्सेस किया जा सकता है। सी 11 मानक डेटा रेस की अनुपस्थिति के आधार पर थ्रेड-सुरक्षा को परिभाषित करता है, जो तब होता है जब दो परस्पर विरोधी क्रियाएं एक ही मेमोरी स्थान तक पहुंचती हैं या संशोधित करती हैं।
सी 11 में, कॉन्स्ट ऑब्जेक्ट से थ्रेड-सुरक्षित संचालन की उम्मीद की जाती है उन पर किया गया प्रदर्शन केवल पढ़ने योग्य माना जाता है। यह अपेक्षा मानक लाइब्रेरी की आवश्यकता से उत्पन्न होती है कि मानक लाइब्रेरी फ़ंक्शंस कॉन्स्ट ऑब्जेक्ट्स पर डेटा दौड़ से बचते हैं। जावा के "सिंक्रोनाइज़्ड" के बराबर। जबकि जावा का "सिंक्रोनाइज़्ड" कीवर्ड स्पष्ट रूप से थ्रेड-सुरक्षा को लागू करता है, C 11 में const केवल यह इंगित करता है कि कोई ऑब्जेक्ट लिखने योग्य नहीं है।
ऑब्जेक्ट डिज़ाइन के लिए निहितार्थ
थ्रेड-सुरक्षा और कॉन्स्ट के बीच अंतर का ऑब्जेक्ट डिज़ाइन पर प्रभाव पड़ता है। यदि किसी ऑब्जेक्ट के डेटा सदस्यों को निर्माण के दौरान अपरिवर्तनीय रूप से सेट किया गया है, तो ऑब्जेक्ट को कॉन्स्ट के रूप में घोषित करने से यह सुनिश्चित होता है कि समवर्ती पहुंच थ्रेड-सुरक्षित है। हालाँकि, यदि किसी ऑब्जेक्ट की स्थिति को संशोधित किया जा सकता है, तो इसे वास्तव में थ्रेड-सुरक्षित बनाने के लिए अतिरिक्त सिंक्रोनाइज़ेशन तंत्र आवश्यक हैं। मानक पुस्तकालय का संदर्भ। यह एक गारंटीकृत थ्रेड-सुरक्षा तंत्र नहीं है, क्योंकि यह केवल-पढ़ने के लिए पहुंच को लागू नहीं करता है। दे
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3