退出pthread发布malloced内存?

退出pthread发布malloced内存?,第1张

概述假设我已经使用pthread_create()启动了新线程,然后使用pthread_detach()将其分离.现在,在线程上下文中,我使用malloc()分配了一些内存.当线程退出时,malloc的内存是否会自动释放?最佳答案>线程共享内存资源(至少POSIX).> malloc()/ realloc()/ free()内存管理实际上并不了解线程

假设我已经使用pthread_create()启动了新线程,然后使用pthread_detach()将其分离.现在,在线程上下文中,我使用malloc()分配了一些内存.

当线程退出时,malloc的内存是否会自动释放?

最佳答案>线程共享内存资源(至少POSIX).
> malloc()/ realloc()/ free()内存管理实际上并不了解线程
(至少到现在为止).
>因此,您应该将malloc()的结果视为简单的“资源”.它不是线程链接的.

所以现在回答应该是显而易见的,任何分配的内存都没有与线程的联系
线程退出时不是free()’d.当然,您可以提供一些特殊处理
力学但它不是自动完成的.

好的一面是你可以在线程之间传递内存分配,换句话说,在一个线程中分配这样的资源,然后从另一个线程中释放(对你有好处).

希望这将是有用的解释,考虑分配的内存指针作为任何进程级描述符.

总结

以上是内存溢出为你收集整理的退出pthread发布malloced内存?全部内容,希望文章能够帮你解决退出pthread发布malloced内存?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1047331.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存