Показать сообщение отдельно

  #5000  
Старый 22.11.2009, 20:40
KaZ@NoVa
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
С нами: 9394886

Репутация: 1467


По умолчанию

Цитата:
Сообщение от Пуховой  
Может ли данная функция кушать память (не освобождать по выполнении) ? Используется и из вспомогательных потоков, и из главного потока.

Код:
function httpget (http : tidhttp; adr : widestring) : widestring;
var
  str : tstringstream;
begin
  str := tstringstream.Create('');
  try http.Get (adr, str); except end;
  Result := str.DataString;
  str.Free;
end;
С некоторого времени многопоточные программы для работы с сетью стали кушать очень много памяти (на 50 потоков - 80 мб уже на 10-й минуте работы, чем дальше - тем больше). TrimWorkingSet, естественно, не помогает.

Если все вызовы относятся к стандартным то они по идее обязаны за собой чистить память, однако все равно тебе не помешала бы трассировка.
 
Ответить с цитированием