线程内存泄露问题,已分离线程,仍有泄露

qq282100640 2017-12-01 10:27:39
系统用的Cenos, 为了便于看内存,线程栈大小是默认的10M

现象,,,,程序启动时内存 2.7M ,,,不停的按键,创建线程,,,出现几百M的高峰,,,,之后等线程全结束,,内存停留在 50M,,永远不会回到 2.7M的原始状态

下面是简化的代码,实际代码更复杂,泄露更严重,到了不能忍受的程度,,


在各位大神眼里就是不值一提的小毛病吧,,,求指点,,,

#include "test.h"
void* ThreadBody(void* arg)
{
//pthread_detach(pthread_self());
usleep(1000*1000*5);
return (void*)0;
}

int main()
{
char msg[64] = {0};
pthread_t id;
pthread_attr_t a;

while(1)
{
printf("\n:");
scanf("%s",msg);

pthread_attr_init(&a);
pthread_attr_setdetachstate(&a,PTHREAD_CREATE_DETACHED);
pthread_create(&id,&a,ThreadBody,NULL);
//pthread_join(id,NULL);
//pthread_detach(id);
pthread_attr_destroy(&a);
}
return 0;
}
...全文
316 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

18,773

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧