Утечка памяти в TThread

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Утечка памяти в TThread

Сообщение Вадим » 10.08.2009 22:12:44

Скомпилировал элементарный код (используя Linux 2.6.28, Lazarus 9.2.26.3, FPC 2.2.2), который по нажатию на кнопочке создает поток. При каждом нажатии происходит увеличении отъедаемой виртуальной и оперативной памяти. Это только у меня, или есть проблема c TThread?
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
begin
  TMyThrd.Create(1);
end;

Код: Выделить всё
  TMyThrd = class(TThread)
  public
    Constructor Create (n: Integer);
    procedure Execute; override;
  end;

implementation

Constructor TMyThrd.Create(n: Integer);
begin
  inherited Create(true);
  FreeOnTerminate := true;
  Priority := tpNormal;
  Resume;
end;

procedure TMyThrd.Execute;
begin
end;


Добавлено спустя 12 часов 11 минут 7 секунд:
Решил попробовать BeginThread - результат аналогичный, после остановки потока память системе не возвращается. При каждом нажатии на кнопку запуска нового потока память только расходуется, хотя потоки немедленно завершаются.
Вадим
новенький
 
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

Re: Утечка памяти в TThread

Сообщение Вадим » 13.08.2009 14:29:09

Нашел информацию, что в релизе 2.3.1 устранили этот баг, осталось проверить.
Вадим
новенький
 
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

Рейтинг@Mail.ru