LINUX.ORG.RU

Pthreads и memory! HELP!


0

0

Есть программка, которая при вводе символов с клавиатуры запускает потоки, по потоку на символ.
Потоки живут по 3 секунды и умирают, при этом ничего не делают. (Программа тестовая).

В это время смотрю память.
После старта программы свободной памяти малость отъедается, после старта потока еще отъедается но, когда поток умирает, память съеденная потоком не вся возвращается и так каждый раз, когда запускается - умирает очередной поток свободной памяти становится все меньше и меньше ...
когда програмку прибиваю, память возвращается к своему прежнему состоянию ...

Подскажите, как с этим бороться ...
Или я чтото не понимаю ...

Вот исходники:


pthread_t pth;


void server(void * ttt)
{
sleep(3);
printf("\nP \n\n");
return;
}




int main(int argc, char *argv[])
{
while (1)
{
printf ("\n -> %c",getc(stdin));
pthread_create(&pth, NULL,(void*)server,NULL);
}
}





anonymous

Re: Pthreads и memory! HELP!

man pthread_join
man pthread_detach

sergio_nsk ()

Re: Pthreads и memory! HELP!

pthread_join (...) ?

RomanU ()

Re: Pthreads и memory! HELP!

...или сразу делать нить detached...

Murr ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.