2008-09-17 8 views
6

मेरा अनुमान है कि कक्षा चर ("वर्ग var") वास्तव में भंडारण में वैश्विक हैं (यानी, पूरे आवेदन के लिए एक उदाहरण)।क्या डेल्फी कक्षा के युद्धों में वैश्विक या धागा स्थानीय भंडारण है?

लेकिन मुझे आश्चर्य है कि यह मामला है, या फिर वे भंडारण में धागे हैं (उदाहरण के लिए "थ्रेडवर" के समान) - एक बार उदाहरण प्रति थ्रेड।

कोई भी जानता है?

संपादित करें: "गुंजाइश" में बदल "भंडारण" के रूप में यह सही शब्दावली वास्तव में है, और क्या मैं कर रहा हूँ के बाद (धन्यवाद बैरी) को

उत्तर

7

हाँ, वर्ग चर विश्व स्तर पर scoped रहे हैं। थ्रेडवर्स कैसे कार्यान्वित किए जाते हैं, इसके विवरण के लिए आरटीएल स्रोत में एक नज़र डालें। Win32 के तहत प्रत्येक थ्रेड में थ्रेड सृजन पर स्वचालित रूप से आवंटित स्मृति का एक ब्लॉक हो सकता है। यह अतिरिक्त डेटा क्षेत्र आपके थ्रेडवर्स को रखने के लिए उपयोग किया जाता है।

+0

मुझे कोई संदेह नहीं है कि आप सही हैं। आश्चर्य है कि सिस्टम को कैसे काम करना चाहिए ... यह एक प्रश्न है जिसके लिए एक आधिकारिक "हां/नहीं" उत्तर की आवश्यकता है और मुझे आश्चर्य है कि मुझे जवाब स्वीकार करने से पहले कितने वोट "आधिकारिक" मानना ​​चाहिए। क्या करें, क्या करें.....? – Graza

+0

डैनियल का जवाब सही है और मैंने इसे वोट दिया। मुझे आश्चर्य है कि क्या आप क्लास var को थ्रेड var में संदर्भित करके एक छोटी सी चाल का उपयोग कर सकते हैं? कोशिश नहीं की है - और कोशिश करने वाला नहीं :) :) –

+0

@Lars - मुझे संदेह होगा कि थ्रेडवार के लिए "वर्ग var" के बजाय एक * मानक * वर्ग फ़ील्ड का जिक्र करना पर्याप्त होगा। यदि ऑब्जेक्ट/वेरिएबल का जीवन रेफरिंग ऑब्जेक्ट के उदाहरण के बाहर है, और थ्रेडवायर की आवश्यकता है, तो यह जीवनकाल पहले से ही उपलब्ध कराया गया है, इसलिए आगे की चालबाजी की कोई आवश्यकता नहीं है। – Graza

9

कक्षा चर उनके सदस्य दृश्यता विशेषताओं के अनुसार स्कॉप्ड हैं, और वैश्विक भंडारण है, धागा भंडारण नहीं।

स्कोप एक वाक्य रचनात्मक अवधारणा है, और जहां से पहचानकर्ता दिखाई दे रहे हैं उससे संबंधित है। यह चर का भंडारण है जो यहां चिंता का विषय है।

+0

अच्छा बिंदु - मुझे लगा कि मेरा अर्थशास्त्र काफी सही नहीं था ... – Graza

1

कक्षा चर केवल वर्गों की तरह हैं: वैश्विक और एप्लिकेशन के लिए अद्वितीय।

संबंधित मुद्दे