开发者社区 问答 正文

内存分配时,如果空闲链表为空,hymalloc 会如何操作?

内存分配时,如果空闲链表为空,hymalloc 会如何操作?

展开
收起
萝卜丝丸子 2024-07-22 21:42:16 30 分享 版权
1 条回答
写回答
取消 提交回答
  • 在内存分配时,如果空闲链表为空,表示当前 region 没有可用的空闲 item,hymalloc 会向系统申请一个新的 HYMPool。这个新的 pool 会根据预定义的 item_size 初始化一定数量的 item,并将这些 item 添加到空闲链表中。然后,hymalloc 会从链表的头部取出一个 item 作为分配结果,返回给调用者。这样,即使初始时没有空闲 item,hymalloc 也能够动态地扩展内存空间以满足分配需求。image.png

    2024-07-22 22:36:42
    赞同 2 展开评论
问答标签:
问答地址: