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本身有问题,只是说您没有释放该行上分配的资源。