Утечки памяти
Возник такой вопрос.
Пишу программу. В ней много потоков, и они много чего делают. Каждый поток запускается по много раз. По завершению удаляется. И естественно все это сорит в памяти. Но есть несколько НО:
1) Очистку всех указателей я делаю. Побуквенно перечитывал код уже много раз - вроде все.
2) Все отработавшие потоки тут же удаляются (смотрел в дебаггере - все ок)
С памятью при этом творится нечто странное: например, при каждом запуске потока "РАЗ", выделенная память программе увеличивается на 4 или 8кб (что логично), но не чистится. Через где-то 10 запусков этого потока выделенная память перестает расти вообще.
Для другого потока "ДВА" че-то подобное: сначала резко выделяется куча памяти (20-40кб), а при последующих запусках по чуть-чуть (4кб).
Чем такое объяснить? Нормально ли это?
Программа рассчитана на ОЧЕНЬ долгую работу. Возможно это измеряется днями/неделями. Будет ли память дальше расти до бесконечности или нет?
Если нужны какие коды - скажите, не знаю чего к этому вопросу положить.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
|