Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Потоки и утечка памяти

499
01 июня 2005 года
madjahed
149 / / 14.01.2004
Создаю поток, который активно работает с VCL. Если он сам заканчивает работу, тогда всё ОК, но если я его насильно закрываю функцией TerminateThread(), тогда происходят утечки памяти. В потоке указателей не использую вообще(Кроме работ с VCL, типа Form1->Caption и т.д.). Подскажите, что делать ?
247
02 июня 2005 года
wanja
1.2K / / 03.02.2003
Цитата:
Originally posted by madjahed
Создаю поток, который активно работает с VCL. Если он сам заканчивает работу, тогда всё ОК, но если я его насильно закрываю функцией TerminateThread(), тогда происходят утечки памяти. В потоке указателей не использую вообще(Кроме работ с VCL, типа Form1->Caption и т.д.). Подскажите, что делать ?


А обязательно убивать его TerminateThread? Это, знаешь ли не слишком хорошо.

10
02 июня 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by wanja
А обязательно убивать его TerminateThread? Это, знаешь ли не слишком хорошо.


Вообще-то в Винде есть стандартная процедура ExitThread. Только ХЗ, как это будет работать с VCL - самому пользовать не приходилось.

585
02 июня 2005 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by madjahed
Создаю поток, который активно работает с VCL. Если он сам заканчивает работу, тогда всё ОК, но если я его насильно закрываю функцией TerminateThread(), тогда происходят утечки памяти. В потоке указателей не использую вообще(Кроме работ с VCL, типа Form1->Caption и т.д.). Подскажите, что делать ?



И это не удивительно, объекты VCL всегда создаются динамически. При убиении процесса в непредсказуемых местах, вам необходимо предусмотреть код зачистки.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог