C编程中的pthread内存泄漏

C编程中的pthread内存泄漏,c,memory-leaks,pthreads,C,Memory Leaks,Pthreads,我有下面的代码 void *timer1_function(void * eit); pthread_t timer1; int thread_check1 = 0; line72: thread_check1 = pthread_create( &timer1, NULL, timer1_function, NULL); Valgrind显示了下面的输出,并指出第72行有问题。上面的pthread\u create用法有什么问题 272 bytes in 1 blocks are

我有下面的代码

void *timer1_function(void * eit);
pthread_t timer1;
int thread_check1 = 0;

line72: thread_check1 = pthread_create( &timer1, NULL, timer1_function,  NULL);
Valgrind显示了下面的输出,并指出
第72行有问题。上面的
pthread\u create
用法有什么问题

272 bytes in 1 blocks are possibly lost in loss record 2 of 5
  in main in main.c:72
  1: calloc in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
  2: _dl_allocate_tls in /build/buildd/eglibc-2.15/elf/dl-tls.c:297
  3: pthread_create@@GLIBC_2.2.5 in /build/buildd/eglibc-2.15/nptl/allocatestack.c:571
  4: main in <a href="file:///home/user/Project-build-desktop-Qt_4_8_1_in_PATH__System__Release/../project/main.c:72" >main.c:72</a>
1个块中的272字节可能在丢失记录2(共5个)中丢失
c:72
1:calloc in/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
2:_dl_allocate_tls in/build/buildd/eglibc-2.15/elf/dl tls.c:297
3:pthread_create@@GLIBC_2.2.5在/build/buildd/eglibc-2.15/nptl/allocatestack.c:571中
4:主要在

创建线程时,需要分配一些内存。清理此内存的任务是通过调用
pthread\u join
完成的

线程退出时未清除此内存的原因是,这些数据包含诸如“线程退出状态”之类的信息,父线程可能希望稍后签出这些信息。因此,从不
join
ing线程意味着从不清理该内存


未联接线程的概念类似于。

当您创建线程时,您会为其分配一些内存。清理此内存的任务是通过调用
pthread\u join
完成的

线程退出时未清除此内存的原因是,这些数据包含诸如“线程退出状态”之类的信息,父线程可能希望稍后签出这些信息。因此,从不
join
ing线程意味着从不清理该内存


未连接线程的概念类似于。

valgrind没有说line72本身有问题,只是说您没有释放该行上分配的资源。valgrind没有说line72本身有问题,只是说您没有释放该行上分配的资源。