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

Ваш аккаунт

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

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

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

Threads

323
09 февраля 2005 года
Sergun
228 / / 20.09.2000
Проблема такая: создаю новый класс Thread, свойство FreeOnTerminate = true. Создаю через new все как положено, но когда вызываю Terminate, то этот объект почему то не особождает память (указатель на него после вызова Terminate не равен NULL, а при вызове любых методов не происходит исключения)... так вот, в связи с чем это происходит? Получается что память реально не освобождается этим потоком?
259
09 февраля 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Sergun
Проблема такая: создаю новый класс Thread, свойство FreeOnTerminate = true. Создаю через new все как положено, но когда вызываю Terminate, то этот объект почему то не особождает память (указатель на него после вызова Terminate не равен NULL, а при вызове любых методов не происходит исключения)... так вот, в связи с чем это происходит? Получается что память реально не освобождается этим потоком?


Вообще у Борланда своя собственная подсистема работы с динамической памятью. И этот эффект встречается не только при работе с потоками, но и при создании/удалении форм. Я дкмаю они малость недоработали и это просто ошибка. Т.Е. у себя внутри она помечена как свободная, но реально не почищена. А может нужно тривиальный delete сделать. Хотя думаю результат будет тот-же. Приложение при создании захватывает себе сразу кусок памяти у ОС и освобождает его только после свего закрытия. А в се операции с new и delete проводит внутри этой своей кучи.

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