当前位置:  开发笔记 > 编程语言 > 正文

pthread_detach会为我管理我的记忆吗?

如何解决《pthread_detach会为我管理我的记忆吗?》经验,为你挑选了1个好方法。

假设我有以下代码:

while(TRUE) {
  pthread_t *thread = (pthread_t *) malloc(sizeof(pthread_t));
  pthread_create(thread, NULL, someFunction, someArgument);
  pthread_detach(*thread);
  sleep(10);
}

分离的线程是否会释放malloc分配的内存,还是我现在必须做的事情?



1> Commodore Ja..:

在pthread_create()无法知道的方式线程传递给它的指针是动态分配.pthreads不会在内部使用此值; 它只是将新的线程ID返回给调用者.您不需要动态分配该值; 你可以传递一个局部变量的地址:

pthread_t thread;
pthread_create(&thread, NULL, someFunction, someArgument);

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有