RTOS 内存使用篇-可变长度内存块的使用

RTOS 内存使用篇-可变长度内存块的使用

概述

变长内存块

变长内存块是指,使用时按照需要的长度申请内存块。变长存储块通常通过链表进行管理:
在这里插入图片描述

使用变长存储块的优点:

1)能分配任意大小的空间。

使用变长存储块的缺点:

1)分配和回收效率低,容易形成内存碎片。

如何选择合适的内存块:

1)当内存分配大小的需求是已知的,或者至少最大值是已知的时,推荐使用定长内存块。

2)当内存分配大小的需求是不知道的,或者需要频繁地改变内存块大小时,推荐使用变长内存块。

需求及功能解析

与上节类似,示例建立了一个简单的生产者-消费者模型。其中 Task1 负责生产数据、然后通过队列将数据发送给 Task2,Task2 负责接收数据:

在这里插入图片描述

假设 Task1、Task2 之间对数据的长度的需求有三种:8bytes、10bytes、20bytes。示例通过变长存储块来满足三种长度的数据的存放需求,每次都申请需要的长度的内存空间来存放要发送的数据。

v_v

猜你喜欢

转载自blog.csdn.net/wangyx1234/article/details/128521755