Сборщик мусора - это не активная система. Он запускается «иногда» и в основном по запросу (например, когда все страницы, предлагаемые ОС, заполнены).
Большинство сборщиков мусора работают в подпотоках в стиле первого поколения. В большинстве случаев переработка объекта может занять несколько часов.
Единственная проблема возникает, когда вы хотите прекратить работу программы. Однако это не проблема. При использовании killОС будет вежливо попросить прекратить процессы. Однако, когда процесс остается активным, можно использовать место, 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и убийстве программы. Через пять секунд программа завершится (другими словами, сборщик мусора откажется и просто освободит всю память без учета финализаторов).