>Вот и я столкнулся со столь частой проблемой утечки памяти... и что
>делать ума не приложу... В программе динамически выделается память под элементы
>очереди, которые потом, после соответствующей обработки, удаляются, и регулярно запускается, после
>того как вроде бы завершился предыдущий экземпляр, поток-диспетчер... во-о-от... Всё, казалось
>бы, должно работать отлично. Всегда отличался чистописанием, то есть каждому new
>свой delete и т. п., конечно, и на старуху бывает проруха,
>но проверил всё десятки раз и вдоль и поперёк, и эти
>самые new с delete'ом перегружал, проверял, что сколько раз и для
>чего запускается... в общем, мозгой не могу понять, где течёт. А
>оно течёт... тихо так... исподтишка... по четыре кила в минуту или
>две... и через несколько часов, стабильной во всём остальном работы, прога
>падает в корку... :-(
>На очередь грешить не могу... столько лет уже с всякими динамическими структурами
>работаю, они мне уже ближе и роднее порой, чем все массивы
>вместе взятые...
>А вот с потоками столкнулся серьёзно только пару месяцев назад... опыта, считай,
>никакого... И вот, потеряв всякую надежду мозгами дойти до решения проблемы,
>решил поступить тем образом, каким у нас в стране (а ну-ка,
>вспомните, как она лет пятнадцать у нас за глаза называлась) принято
>поступать... то есть спросить совета. И вот с криком: "Люди добрые!
>Поможите, кто чем можите!.." я обращаюсь к знатокам и специалистам :-).
>Где-то на просторах инета перед глазами мелькнула фраза, что поток после
>завершения, даже детачнутый, может не освободить память, занятую под свои ресурсы
>и останется она потерянной и ... в общем, вопрос именно в
>этом, правда ли может так быть и как с этим бороться...
>
>А ещё, не сочтите за жадность и хамство, посоветуйте какую-нить прогу для
>контроля за памятью программы, такую чтоб и под фрёй работала, и
>с многопоточными приложениями дружила, а то мне вчера dmalloc такого на
>это сказал... в общем, цельных полчаса я ходил там, куда он
>меня послал...
>Заранее благодарен.
http://www.opengroup.org/onlinepubs/009695399/functions/pthread_exit.html
читаем, пркидываем, где у вас application level а где thread level resources..
// wbr
|