Я использую язык C и Linux в качестве моей платформы программирования.
В моем приложении пользовательского пространства.Я использовал pthread для создания потока.
int main()
{
pthread_t thread1, thread2;
pthread_create( &thread1, NULL, fthread1, NULL );
pthread_create( &thread2, NULL, fthread2, NULL );
return 0;
}
void *fthread1( void *ptr )
{
/* do something here */
pthread_exit( NULL );
}
void *fthread2( void *ptr )
{
/* do something here */
pthread_exit( NULL );
}
Моя проблема в том, что когда я повторяю цикл pthread_create для повторного создания двух потоков, использование памяти моего приложения увеличивается.
while( 1 )
{
pthread_create( &thread1, NULL, fthread1, NULL);
pthread_create( &thread2, NULL, fthread2, NULL);
}
Я определяю использование памяти с помощью инструмента командной строки Linux ps в столбце VSZ.
Кажется, я пропустил некоторую часть, используя pthreads API.Как я могу заставить мое приложение не использовать слишком много памяти.