What is the meaning of monotonicity in C++ n2660? -


"

में

[monotonicity] एक्सेस एक सिंगल वेरिएबल V में टाइप T, सिंगल थ्रेड X द्वारा प्रोग्राम ऑर्डर में प्रकट होता है। उदाहरण के लिए, अगर वी शुरू में 0 है, तो एक्स 1 लिखता है, और फिर 2 से वी, कोई धागा (जिसमें एक्स तक सीमित नहीं है) वी से मूल्य पढ़ सकता है और फिर बाद में वी से कम मान पढ़ सकता है। (नोटिस कि यह मनमानी लोड को रोकने और पुनर्विक्रय की दुकान नहीं करता है, यह केवल एक मेमोरी स्थान पर क्रियाओं के बीच क्रम को अवरुद्ध करता है। यह धारणा सभी आर्किटेक्चर पर उचित है जिसे मैं वर्तमान में जानता हूं। मुझे संदेह है कि जावा और सीएलआर मेमोरी मॉडल को भी इस धारणा की आवश्यकता है।) < / P>

मैं call_once और monotonicity के बीच संबंध को समझ नहीं सकता।

और इसके बारे में संबंधित दस्तावेज़ नहीं मिल सकता है।

कृपया, सहायता करें। < / P>

इसका मतलब है कि संकलक एक ही मेमोरी स्थान पर किए गए कार्यों को फिर से नहीं करेगा। तो अगर आप लिखते हैं:

  int i = 0; मैं = 1; मैं = 2;  

आपका वर्तमान धागा कोई रास्ता नहीं है या कोई अन्य i चर को 2 के मान के साथ पढ़ता है, तो उसी चर को पढ़कर मान 1 या 0

लिंक किए गए पेपर में इसे दिए गए pthread_once के लिए एक आवश्यकता के रूप में उपयोग किया जाता है कार्यान्वयन, इसलिए यदि इस सिद्धांत का सम्मान नहीं किया गया है, तो हो सकता है कि कार्यान्वयन काम न करें। इस अतिरिक्त आवश्यकता का कारण प्रदर्शन हासिल करने के लिए स्मृति अवरोध से बचने के लिए लगता है।


Comments