[ThreadStatic] private static Foo _foo; public static Foo CurrentFoo { get { if (_foo == null) { _foo = new Foo(); } return _foo; } }
क्या पिछले कोड थ्रेड सुरक्षित है? या क्या हमें विधि को लॉक करने की आवश्यकता है?क्या यह एक थ्रेडस्टैटिक प्रारंभ करने के लिए एक थ्रेड सुरक्षित तरीका है?
यही वह जगह है जहां से मेरा उदाहरण आता है। मैं बस यह पता लगाने की कोशिश कर रहा हूं कि एक थ्रेड के लिए _foo == शून्य प्राप्त करना संभव है, लेकिन फिर एक थ्रेड स्विच होता है और अन्य धागे _foo नए हो जाते हैं, भले ही यह शून्य न हो? –
नहीं। प्रति थ्रेड एक _foo, तो संदर्भ स्विच का कोई प्रभाव नहीं पड़ता है। – Will