स्टोर रिलीज ऑपरेशन हैं और लोड दोनों के लिए संचालन अधिग्रहण कर रहे हैं। मुझे पता है कि memory_order_seq_cst
सभी परिचालनों के लिए अतिरिक्त कुल ऑर्डर देने का मतलब है, लेकिन मैं एक उदाहरण बनाने में असफल रहा हूं, जहां यह मामला नहीं है यदि सभी memory_order_seq_cst
memory_order_acq_rel
द्वारा प्रतिस्थापित किए गए हैं।memory_order_seq_cst और memory_order_acq_rel कैसे भिन्न होते हैं?
मैं कुछ याद आती है, या अंतर सिर्फ एक प्रलेखन प्रभाव है, यानि कि एक memory_order_seq_cst
का उपयोग करना चाहिए अगर एक जब आराम मॉडल को बाधित करने के लिए एक अधिक आराम से मॉडल के साथ खेलते हैं और memory_order_acq_rel
का उपयोग नहीं करने का इरादा रखते हैं?
मुझे समझ में नहीं आता क्यों 'x = true; y = true; c(); d() 'संभव नहीं है? यह 0 होना चाहिए। इसके अलावा मुझे नहीं पता कि मुझे परिणाम के रूप में 2 बहुत कुछ क्यों मिलता है। –
@ एसिडज़ॉम्बी 24, उस मामले में भी, 'z' 2. – MSN
मैं गड़बड़ कर दूंगा, मैं कोड को गलत तरीके से पढ़ता हूं। यह अब सही समझ में आता है –