कचरा उठाने वाला एक सक्रिय सिस्टम नहीं है। यह "कभी-कभी" चलता है और ज्यादातर मांग पर (उदाहरण के लिए जब ओएस द्वारा पेश किए गए सभी पृष्ठ भरे हुए हैं)।
अधिकांश कचरा संग्राहक सब-वे में ब्रेड-प्रथम पीढ़ी की तरह तरीके से चलते हैं। अधिकांश मामलों में ऑब्जेक्ट के पुनर्नवीनीकरण से पहले घंटे लग सकते हैं।
केवल समस्या तब होती है जब आप प्रोग्राम को समाप्त करना चाहते हैं। हालाँकि यह वास्तव में कोई समस्या नहीं है। जब आप killएक OS का उपयोग करते हैं तो प्रक्रियाओं को समाप्त करने के लिए विनम्रता से पूछेंगे। जब प्रक्रिया हालांकि सक्रिय रहती है, तो कोई उपयोग कर सकता है kill -9जहां ऑपरेटिंग सिस्टम सभी नियंत्रण को हटा देता है।
जब मैंने इंटरैक्टिव csharpवातावरण में आपका कोड चलाया , तो मुझे मिल गया है:
csharp>
1
2
Unhandled Exception:
System.NotSupportedException: Stream does not support writing
at System.IO.FileStream.Write (System.Byte[] array, Int32 offset, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.StreamWriter.FlushBytes () [0x00000] in <filename unknown>:0
at System.IO.StreamWriter.FlushCore () [0x00000] in <filename unknown>:0
at System.IO.StreamWriter.Write (System.Char[] buffer, Int32 index, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.CStreamWriter.Write (System.Char[] buffer, Int32 index, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.CStreamWriter.Write (System.Char[] val) [0x00000] in <filename unknown>:0
at System.IO.CStreamWriter.Write (System.String val) [0x00000] in <filename unknown>:0
at System.IO.TextWriter.Write (Int32 value) [0x00000] in <filename unknown>:0
at System.IO.TextWriter.WriteLine (Int32 value) [0x00000] in <filename unknown>:0
at System.IO.SynchronizedWriter.WriteLine (Int32 value) [0x00000] in <filename unknown>:0
at System.Console.WriteLine (Int32 value) [0x00000] in <filename unknown>:0
at P.Finalize () [0x00000] in <filename unknown>:0
इस प्रकार आपका प्रोग्राम क्रैश हो stdoutजाता है क्योंकि पर्यावरण की समाप्ति से अवरुद्ध है।
जब हटाने Console.WriteLineऔर कार्यक्रम को मार रहा है। यह पांच सेकंड के बाद कार्यक्रम समाप्त हो जाता है (दूसरे शब्दों में, कचरा कलेक्टर को छोड़ देता है और बस फाइनल में खाते में लेने के बिना सभी मेमोरी को मुक्त कर देगा)।