Есть программка, которая при вводе символов с клавиатуры запускает потоки, по потоку на символ.
Потоки живут по 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);
}
}