搜索
bottom↓
回复: 13

嵌入式操作系统 线程挂起时回收内存有什么用

[复制链接]

出0入0汤圆

发表于 2014-10-17 19:09:30 | 显示全部楼层 |阅读模式
挂起时需要保存堆栈 但是堆栈还是存在RAM中  那么回收内存有什么用呢

出0入0汤圆

发表于 2014-10-17 19:19:17 | 显示全部楼层
"线程挂起时回收内存"是指什么?

出0入0汤圆

 楼主| 发表于 2014-10-17 19:31:31 | 显示全部楼层
aozima 发表于 2014-10-17 19:19
"线程挂起时回收内存"是指什么?

将线程申请的内存空间重新释放到内存堆中

出0入8汤圆

发表于 2014-10-17 19:33:20 来自手机 | 显示全部楼层
楼主最好说一下这句话的出处和上下文

出0入0汤圆

发表于 2014-10-17 19:37:23 | 显示全部楼层
canspider 发表于 2014-10-17 19:33
楼主最好说一下这句话的出处和上下文

+1

and

线程申请(malloc)的内存空间  只能由线程自己释放(free)
不然就是内存泄露。

将线程申请的内存空间重新释放到内存堆中

这句话所应该是指线程退出,线程控制块会被回收,大概几十字节的样子。

出0入0汤圆

 楼主| 发表于 2014-10-17 19:37:37 | 显示全部楼层
canspider 发表于 2014-10-17 19:33
楼主最好说一下这句话的出处和上下文

使用动态定义方式 rt_thread_create()时, RT-Thread会动态申请线程控制块和堆栈空间。
在编译时,编译器是不会感知到这段空间的,只有在程序运行时,RT-Thread才会从系统堆
中申请分配这段内存空间,当不需要使用该线程时,调用 rt_thread_delete()函数就会将这段
申请的内存空间重新释放到内存堆中。

出0入8汤圆

发表于 2014-10-17 19:57:29 来自手机 | 显示全部楼层
貌似你转的这段话里面没有“挂起”二字
你确定是这段话么

出0入8汤圆

发表于 2014-10-17 19:58:41 来自手机 | 显示全部楼层
英语可能是suspend

出0入0汤圆

发表于 2014-10-17 20:16:41 | 显示全部楼层
xiaojianren210 发表于 2014-10-17 19:37
使用动态定义方式 rt_thread_create()时, RT-Thread会动态申请线程控制块和堆栈空间。
在编译时,编译器 ...

这个删除线程,不是你说的“挂起”

出0入0汤圆

发表于 2014-10-17 20:21:51 | 显示全部楼层
就是堆空间的的申请和释放吧
释放了 就可以被其他任务使用

出0入0汤圆

发表于 2014-10-17 20:23:40 | 显示全部楼层
回答的都是高手。。受教了

出0入0汤圆

发表于 2014-10-17 20:36:51 | 显示全部楼层
这个引用没有提到挂起时回收内存吧

出0入0汤圆

 楼主| 发表于 2014-10-17 21:04:06 | 显示全部楼层
我懂了是我理解错了  挂起时不会回收内存  只有在删除的时候才会  谢谢大家

出0入0汤圆

发表于 2014-10-19 01:21:15 | 显示全部楼层
楼上几个解释的很到位  
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-9 09:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表