.NET सिंगलेट्स के लिए सामान्य पैटर्न प्रति ऐप डोमेन एक एकल उदाहरण बनाता है। एएसपीनेट में सामान्य स्थिति यह है कि आपके पास एक ही ऐप डोमेन के माध्यम से कई थ्रेड चल रहे हैं। इसका मतलब है कि आप एक ही समय में अपने सिंगलटन में कोड चलाने वाले कई थ्रेड कोड कर सकते हैं।
आपको सिंगलटन की जांच करना है और अपनी क्षमताओं का सर्वोत्तम निर्धारण करना है (koffreflectorkoff) यदि यह थ्रेड सुरक्षित है या नहीं। यदि यह साझा संसाधनों को रखता है और संशोधित करता है, या यदि यह विधि कॉल के बीच संग्रहीत किसी प्रकार की स्थिति को समाहित करता है, तो सावधान रहें।
हो सकता है कि आप सिंगलटन को दूसरे सिंगलटन में लपेटना चाहें जो उस पर कॉल करने से पहले ताले का उपयोग करता है जिस पर आपका नियंत्रण नहीं है। इस तरह आप एकल लॉक का उपयोग करके सिंगलटन को प्रत्येक कॉल को अवरुद्ध करने के बजाय लॉकिंग पर बेहतर नियंत्रण प्राप्त कर सकते हैं। यह आपको थ्रेडिंग कोड के स्थान को केंद्रीकृत करने का लाभ भी देगा ...
-1। यदि आवश्यक हो तो विधियों को ताले रखने की आवश्यकता होगी। यह लिंक उन विवरणों में नहीं मिलता है (केवल सिंगलटन क्लास को बनाने के तरीके के बारे में, इसकी कार्यक्षमता नहीं)। –
+1। यह टिप्पणी -1 के लायक नहीं है। दरअसल, विधियों को ताले की आवश्यकता हो सकती है, लेकिन यह सिंगलटन पैटर्न स्वयं आईएमओ के कार्यान्वयन से अलग है। – Ben