52ky 发表于 2023-9-4 00:30:00

易语言内存池源码

易语言效率不高

多线程中,内存的申请和释放会频繁,所以这里需要一个内存池

思路大致如下:

申请一块大内存,分成N个单元。当用户需要的时候,我们会分配一些单位给用户,并标记为已使用

用户使用完毕后,将本机标记为未使用,以供下次使用

实施过程:

单元列表采用栈的方式。为了保证多线程中的安全,我们使用原子锁InterlockedSList系列API

1.首先申请一块内存,记录内存池的相关信息

单元大小 (4)、初始化大小 (4)、单元列表 (8)、请求的内存块列表 (8)

总长度为24,单元列表和内存块列表分别使用原子栈



页: [1]
查看完整版本: 易语言内存池源码