क्या एक विधि धागा-सुरक्षित बनाने के लिए समग्र नियम / दिशानिर्देश हैं? मैं समझता हूं कि संभवत: एक लाख एक-बंद स्थितियां हैं, लेकिन सामान्य रूप से इसका क्या? क्या यह सरल है?
- यदि कोई विधि केवल स्थानीय चर को एक्सेस करती है, तो यह थ्रेड सुरक्षित है।
क्या यही है? क्या यह स्थैतिक तरीकों के लिए भी लागू होता है?
@Cybis द्वारा प्रदान किया गया एक उत्तर था:
स्थानीय चर को थ्रेड के बीच साझा नहीं किया जा सकता क्योंकि प्रत्येक थ्रेड का अपना स्टैक होता है।
क्या यह स्थैतिक तरीकों के लिए भी है?
यदि किसी विधि को संदर्भ ऑब्जेक्ट पास किया जाता है, तो क्या वह थ्रेड सुरक्षा को तोड़ता है? मैंने कुछ शोध किए हैं, और कुछ मामलों के बारे में बहुत कुछ है, लेकिन मैं उम्मीद कर रहा था कि परिभाषित करने में सक्षम हो सकता है, बस कुछ नियमों का उपयोग करके, यह सुनिश्चित करने के लिए दिशानिर्देशों का पालन करना है कि कोई विधि थ्रेड सुरक्षित है।
तो, मुझे लगता है कि मेरा अंतिम प्रश्न है: "क्या नियमों की एक छोटी सूची है जो एक थ्रेड-सुरक्षित पद्धति को परिभाषित करती है? यदि हां, तो वे क्या हैं?"
EDIT यहां
बहुत सारे अच्छे बिंदु बनाए गए हैं। मुझे लगता है कि इस सवाल का असली जवाब है: "धागा सुरक्षा सुनिश्चित करने के लिए कोई सरल नियम नहीं हैं।" ठंडा। ठीक। लेकिन सामान्य तौर पर मुझे लगता है कि स्वीकृत उत्तर एक अच्छा, संक्षिप्त सारांश प्रदान करता है। हमेशा अपवाद होते हैं। ऐसा ही होगा। में इसके साथ जी सकता हूँ।