原子哥的动态内存管理,能不能嵌套使用?

2019-07-21 06:02发布

原子哥的动态内存管理,能不能嵌套使用?比如我在程序任务A中申请了内存,然后任务切换到任务B,又申请了一块内存,任务B释放内存后任务切换到任务A释放内存。像这样的嵌套会不会出错?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
林光华ing
2019-07-21 17:53
本帖最后由 林光华ing 于 2019-1-9 09:54 编辑

我试着说说:
假设内存管理中没有关中断或者任务调度,
最危险情况:在低优先级任务A正在申请内存或者释放时,没有完成完整的操作,就被高优先级任务B打断,B任务中也申请一段内存。
对于任务A而言,任务B申请了内存,然后释放。这个过程A什么都不能做,而B拿了内存又放回,内存管理的相关全局变量恢复之前状态,所以A没有受到什么影响。当然,假如内存管理的相关全局变量不能恢复之前状态,就会受到影响。
对于任务B而言,本身是高优先级任务,它本身申请内存,当然不会收到低优先级任务A的破坏。


一周热门 更多>