पर वर्ड फायरिंग किस परिस्थिति में x86 पर एक ही सरणी के आसन्न तत्वों को एक साथ दो अलग-अलग धागे लिखने में असुरक्षित है? मैं समझता हूं कि पागल मेमोरी मॉडल के साथ कुछ DS9K- जैसे आर्किटेक्चर पर यह शब्द फाड़ने का कारण बन सकता है, लेकिन x86 एकल बाइट्स पर पता योग्य है। उदाहरण के लिए, डी प्रोग्रामिंग भाषा real
में x86 पर 80-बिट फ़्लोटिंग पॉइंट प्रकार है।x86
real[] nums = new real[4]; // Assume new returns a 16-byte aligned block.
foreach(i; 0..4) {
// Create a new thread and have it do stuff and
// write results to index i of nums.
}
नोट:: ऐसा लगता है कि कुछ करने के लिए सुरक्षित नहीं होगा मुझे पता है कि, भले ही यह सुरक्षित है, यह कभी कभी कैश के साथ झूठी बंटवारे समस्याएं पैदा कर सकता है, प्रदर्शन को धीमा करने के लिए अग्रणी। हालांकि, उपयोग के मामलों में मेरे मन में लिखने के लिए अभ्यास में कोई फर्क नहीं पड़ता इसके लिए पर्याप्त कम होगा।
संपादित करें: लिखे गए मानों को वापस पढ़ने के बारे में चिंता न करें। धारणा यह है कि किसी भी मान को पढ़ने से पहले सिंक्रनाइज़ेशन हो जाएगा। मुझे इस तरह से की सुरक्षा की परवाह है।
मुझे लगता है कि आप आसन्न पते के गंदे लिख रहे हैं? – BCS