class Unit {
private readonly string name;
private readonly double scale;
public Unit(string name, double scale) {
this.name = name;
this.scale = scale,
}
public string Name { get { return name; } }
public string Scale { get { return scale; } }
private static Unit gram = new Unit("Gram", 1.0);
public Unit Gram { get { return gram; } }
}
एकाधिक धागे के पास Unit.Gram
तक पहुंच है। एकाधिक धागे के साथ-साथ Unit.Gram.Title
पढ़ने के लिए यह ठीक क्यों है?अपरिवर्तनीय वस्तुएं थ्रेड-सुरक्षित क्यों हैं?
मेरी चिंता यह है कि वे एक ही स्मृति स्थान का जिक्र कर रहे हैं। एक धागा उस स्मृति को पढ़ना शुरू कर देता है, तो क्या यह "लॉक आउट" नहीं है? क्या इस महत्वपूर्ण खंड के लिए .NET हैंडल सिंक्रनाइज़ेशन है? या क्या मैं सोच रहा हूं कि एक साथ पढ़ने के लिए सिंक्रनाइज़ेशन की आवश्यकता है?
"मेरी चिंता यह है कि वे एक ही स्मृति स्थान का जिक्र कर रहे हैं।" क्या वो? शायद। यह आपकी चिंता नहीं है, यह वीएम की चिंता है। एक साथ पढ़ने के लिए सिंक्रनाइज़ेशन की आवश्यकता नहीं है, यह क्यों होगा? –
* "यह क्यों होगा" * >> क्या यह प्रश्न यहां नहीं है? अगर मैं वही पुस्तक पढ़ता हूं जो मेरी प्रेमिका पढ़ती है, उसी समय, हम हमेशा इसके बारे में लड़ते हैं। मुझे पता है कि यह कंप्यूटर में कोई समस्या नहीं है हालांकि (एक ही समय में पढ़ने वाले दो थ्रेड नहीं होते हैं, सीपीयू आर्किटेक्चर इसका ख्याल रखता है), लेकिन मुझे यह एक बहुत ही वैध सवाल मिल रहा है :) – Abel
पुस्तक पढ़ने में एक परिवर्तनीय स्थिति शामिल है (वर्तमान पृष्ठ, बिजली, आदि)। आप पुस्तक पर लड़ नहीं रहे हैं, लेकिन इसकी प्रसंस्करण। – sisve