मेरे पास चरणीय दायरे के बारे में एक प्रश्न है।स्थैतिक विधि और थ्रेड सुरक्षा में स्थानीय चर
उदाहरण के लिए:
class A {
private static void test() {
// do something with local variables
}
}
अब मैं दो धागे बनाने के लिए, और प्रत्येक थ्रेड के लिए A
का एक उदाहरण बना सकते हैं।
जब मैं प्रत्येक सूत्र में
test()
कहते हैं, मैं गारंटी ले सकते हैं किtest()
धागा सुरक्षित है?test()
में स्थानीय varibles कहाँ संग्रहीत हैं? प्रत्येक धागे का ढेर? हीप स्थान?
पीएस मुझे पता है कि स्थिर इस मामले में पूरी तरह से व्यर्थ है। मैंने इसे हमारे विरासत कोड में पाया; मैं सिर्फ यह सुनिश्चित करना चाहता हूं कि मुझे क्या पता है!
+1, हालांकि आप कर सकते हैं निश्चित रूप से 'पास', (सिग्नल), पर अन्य धागे को वस्तुओं, लेकिन धागा बनाया यह आम तौर पर इसके बारे में 'स्वामित्व त्यागना' चाहिए, जैसे। अपने स्वयं के संदर्भ को नकारकर या किसी अन्य ऑब्जेक्ट को बनाकर इसे ओवरराइट करके, ताकि दो धागे एक ही ऑब्जेक्ट पर कभी भी काम न करें। यदि यह नहीं किया जाता है, तो ऑब्जेक्ट साझा किया जाता है, जैसा कि आप वर्णन करते हैं, और पहुंच के लिए ताले की आवश्यकता होगी। –
हां, इसी कारण से, संदर्भ को रद्द करके ऑब्जेक्ट का निपटान करना एक अच्छा विचार है। – Erol
ग्रेट मैं इस सवाल से पूछने वाला था !!!! – JohnMerlino