Здравствуйте, Аноним, Вы писали:
А>Гдето тема была не могу найти, типа самая короткий код который вызовет OutOfMemory. А>Где победила throw new OutOfMemoryException();
Строго говоря, в оригинале был вопрос про самый простой способ получить это исключение.
Это не честный OutOfMemory, потому что обламывается только операция выделения нового массива, а количество доступной памяти для приложения остается тем же. Куда интереснее получить простой способ имитации глобального истощения памяти.
Re[2]: Где тут соревнование по OutOfMemory ?
От:
Аноним
Дата:
12.06.13 08:04
Оценка:
Здравствуйте, abibok, Вы писали:
A>Это не честный OutOfMemory, потому что обламывается только операция выделения нового массива, а количество доступной памяти для приложения остается тем же. Куда интереснее получить простой способ имитации глобального истощения памяти.
Ну так throw new OutOfMemoryException() тоже ничего не истощает.
А чего его истощать там ( в плане интересности ), банально
var l = new List();
try
{
while(true) l.Add(new byte());
}
catch{}
// все сожрано до байта
А>var l = new List();
А>try
А>{
А> while(true) l.Add(new byte());
А>}
А>catch{}
А>// все сожрано до байта
А>
далеко не до байта. После энной операции список попробует выделить память под массив в 2 раза больше текущего и обломается (у меня в 32битном процессе это произошло при использовании около 500Мб памяти, т.к. под массив нужен непрерывный блок). Если уж на то пошло, то тогда LinkedList