.Net में, मान लीजिए कि मैं एक ऑब्जेक्ट को तुरंत चालू करता हूं जो एसिंक्रोनस प्रक्रिया शुरू करता है (Delegate.BeginInvoke का उपयोग करके उसकी विधियों में से एक पर), फिर ऑब्जेक्ट को इसके संदर्भ को शून्य या इसे दायरे से बाहर जाने की अनुमति देकर छोड़ दें। क्या कचरा कलेक्टर ऑब्जेक्ट इकट्ठा करने का प्रयास करेगा जबकि एसिंक्रोनस प्रक्रिया प्रगति पर है? यदि नहीं, तो वस्तु को इकट्ठा करने से क्या रोक रहा है?क्या एनईटी जीसी गड़बड़ी एक अव्यवस्थित वस्तु के साथ असीमित तरीके से निष्पादित करेगा?
5
A
उत्तर
12
यदि आप पूरी तरह से प्रबंधित कोड में हैं, तो यह एकत्र नहीं होगा।
जो प्रतिनिधि आप फायरिंग कर रहे हैं वह वस्तु (आपके विवरण से) का हिस्सा है। जब तक यह चल रहा है, वस्तु के लिए एक सक्रिय संदर्भ है। जैसे ही प्रतिनिधि पूरा हो जाता है, वस्तु संग्रह के लिए उम्मीदवार बन जाएगी।
हालांकि, यदि आप प्रतिनिधि में मूल कोड में कॉल कर रहे हैं, तो ऐसी कुछ स्थितियां हैं जहां मूल कोड को पूरा करने से पहले ऑब्जेक्ट को अंतिम रूप दिया जा सकता है। विवरण के लिए, यह MSDN forum thread देखें।
संबंधित मुद्दे
- 1. एनईटी
- 2. एनईटी
- 3. मैं वसंत के साथ असीमित तरीके से एक विधि कैसे चला सकता हूं?
- 4. जावास्क्रिप्ट बल जीसी संग्रह?/बलपूर्वक मुक्त वस्तु?
- 5. SmtpClient के माध्यम से असीमित रूप से ईमेल भेजने के दो तरीके, विभिन्न परिणाम
- 6. असीमित चौड़ाई के साथ एक विस्तृत div
- 7. गलत तरीके से गठबंधन या एक गैर वस्तु क्षेत्र त्रुटि
- 8. डीडीडी/एनईटी
- 9. एनईटी 2.0
- 10. एनईटी 3.0
- 11. क्या कोई जैक्सन जेसन रणनीति है (एनोटेशन या किसी अन्य तरीके से), जो पहले कुछ तर्क निष्पादित करेगा और क्षेत्र के deserialization पोस्ट करेगा?
- 12. क्या सॉर्टिंग एल्गोरिदम एनईटी फ्रेमवर्क
- 13. तरीके सरणी वस्तु जावास्क्रिप्ट में
- 14. सी ++/एनईटी दिग्गज
- 15. वैज्ञानिक डाटासेट में गड़बड़ी - मैट्रिक्स
- 16. गैर-एनईटी सेवाओं के साथ एडीएफएस 2.0 का उपयोग
- 17. जीसी छेद क्या हैं?
- 18. संदर्भ प्रकार और जीसी के साथ संरचना?
- 19. प्रतिक्रिया के इंतजार के दौरान GWT AsyncCallback निष्पादित करेगा?
- 20. जीसी
- 21. असीमित डोमेन, subsains certs startsl.com के साथ?
- 22. इकाई की रूपरेखा त्रुटि: एक अशक्त EntityKey मूल्य के साथ एक वस्तु एक वस्तु संदर्भ
- 23. गुणों के साथ एक वस्तु बनाएँ,
- 24. जावा जीसी प्रश्न: कैसे एक वस्तु नहीं पहुंचा जा सकता हो सकता है, जबकि इसकी विधियों में से एक अभी भी निष्पादित किया जा रहा है?
- 25. असीमित तर्कों के साथ जावा विधि
- 26. असीमित स्क्रॉलिंग के साथ स्क्रैप वेबसाइट
- 27. असीमित Google Analytics कब और कैसे निष्पादित करता है?
- 28. जीसी विनाश प्रयास
- 29. क्या एक अच्छा सी ++ संकलक एक संदर्भ को अनुकूलित करेगा?
- 30. एक वस्तु से निकालने के मूलभूत मूल्यों
ग्रेट, कुल समझ में आता है। हालांकि मुझे इस पर थोड़ा विस्तार करने की जरूरत है। मैंने BeginInvoke में एक AsyncCallback पास कर दिया है ताकि मैं कुछ अंतिमकरण प्रसंस्करण कर सकूं और एंड्रॉन्क प्रक्रिया को पूरा होने पर EndInvoke को कॉल कर सकूं। क्या यह सच है कि इस AsyncCallback पूरा होने के बाद प्रतिनिधि कॉल पूरा नहीं हुआ है? और इस प्रकार ऑब्जेनकॉलबैक समाप्त होने के बाद तक ऑब्जेक्ट संग्रह के लिए उम्मीदवार नहीं बन जाएगा? –
हां। Http://msdn.microsoft.com/en-us/library/system.runtime.remoting.messaging.asyncresult_members.aspx देखें - आपके प्रतिनिधि के लिए एक हैंडल है, और इसलिए आपकी ऑब्जेक्ट, AsyncDelegate प्रॉपर्टी में है। जब तक आपका कॉलबैक समाप्त नहीं होता है, यह जीसी के लिए उम्मीदवार नहीं होगा। –
बिल्कुल सही, बहुत सराहना की। –