Pengumpul sampah bukanlah sistem yang aktif. Ini berjalan "kadang-kadang" dan sebagian besar sesuai permintaan (misalnya ketika semua halaman yang ditawarkan oleh OS penuh).
Sebagian besar pengumpul sampah menjalankan dengan cara seperti generasi pertama di subjudul. Biasanya dibutuhkan waktu berjam-jam sebelum objek tersebut didaur ulang.
Satu-satunya masalah terjadi ketika Anda ingin menghentikan program. Namun itu sebenarnya bukan masalah. Ketika Anda menggunakan killOS akan meminta dengan sopan untuk menghentikan proses. Namun ketika proses tetap aktif, seseorang dapat menggunakan di kill -9mana Sistem Operasi menghapus semua kontrol.
Ketika saya menjalankan kode Anda di csharplingkungan interaktif , saya mendapatkan:
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
Dengan demikian program Anda macet karena stdoutdiblokir oleh penghentian lingkungan.
Saat menghapus Console.WriteLinedan mematikan program. Ini setelah lima detik program berakhir (dengan kata lain, pengumpul sampah menyerah dan hanya akan membebaskan semua memori tanpa memperhitungkan finalizer).