Информация об изменениях

Сообщение Re[19]: WPF. Финализаторы не вызываются. Утечка памяти от 18.06.2020 12:01

Изменено 18.06.2020 12:01 igor-booch

Re[19]: WPF. Финализаторы не вызываются. Утечка памяти
IB>>Приведите пример, когда нельзя вызвать Dispose
S>Эмм, ну вот например как-то так:
S>
S>var myFile = File.OpenWrite("C:\temp\0asdask12.txt");
S>Thread.Create(o=>myFile.Write(Encoding.UTF-8.GetBytes(o.ToString())).Start(myBigObject);
S>

S>Где вы тут будете звать Dispose()?

var myFile = File.OpenWrite("C:\temp\0asdask12.txt");
Thread.Create(o=>
{
    try     { myFile.Write(Encoding.UTF-8.GetBytes(o.ToString()); }
    finally { myFile.Dispose(); }
}
).Start(myBigObject);
Re[19]: WPF. Финализаторы не вызываются. Утечка памяти
IB>>Приведите пример, когда нельзя вызвать Dispose
S>Эмм, ну вот например как-то так:
S>
S>var myFile = File.OpenWrite("C:\temp\0asdask12.txt");
S>Thread.Create(o=>myFile.Write(Encoding.UTF-8.GetBytes(o.ToString())).Start(myBigObject);
S>

S>Где вы тут будете звать Dispose()?

var myFile = File.OpenWrite("C:\temp\0asdask12.txt");
Thread.Create(o=>
{
    try     { myFile.Write(Encoding.UTF-8.GetBytes(o.ToString()); }
    finally { myFile.Dispose(); }
}).Start(myBigObject);