退出pthread发布malloced内存?
发布时间:2020-12-13 19:11:37 所属栏目:Linux 来源:网络整理
导读:假设我已经使用pthread_create()启动了新线程,然后使用pthread_detach()将其分离.现在,在线程上下文中,我使用malloc()分配了一些内存. 当线程退出时,malloc的内存是否会自动释放? 最佳答案 线程共享内存资源(至少POSIX). malloc()/ realloc()/ free()内存管
假设我已经使用pthread_create()启动了新线程,然后使用pthread_detach()将其分离.现在,在线程上下文中,我使用malloc()分配了一些内存. 当线程退出时,malloc的内存是否会自动释放? 最佳答案
>线程共享内存资源(至少POSIX).
> malloc()/ realloc()/ free()内存管理实际上并不了解线程 (至少到现在为止). >因此,您应该将malloc()的结果视为简单的“资源”.它不是线程链接的. 所以现在回答应该是显而易见的,任何分配的内存都没有与线程的联系 好的一面是你可以在线程之间传递内存分配,换句话说,在一个线程中分配这样的资源,然后从另一个线程中释放(对你有好处). 希望这将是有用的解释,考虑分配的内存指针作为任何进程级描述符. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |