apr

类 内存分配器

系统.对象
    └apr.内存分配器


公开 类 内存分配器 <基类型 = 系统.对象

本类提供了操作内存分配器的方法。


初始化方法摘要
公开 

初始化() 

    初始化并创建内存分配器,本方法设置返回码。

方法摘要
公开 apr.返回码

创建内存分配器() 

    创建内存分配器。

公开

销毁() 

    销毁内存分配器。

公开 apr.返回码

置依赖内存池(apr.内存池 内存池对象) 

    设置内存分配器属于某内存池,在内存池销毁时将销毁该内存分配器。

公开 apr.内存池

取依赖内存池() 

    取依赖于该内存分配器的内存池。本方法设置返回码,成功返回内存池对象,失败返回空对象。

公开 apr.返回码

置互斥锁(apr.互斥锁 互斥锁对象) 

    在多线程情况下,设置互斥锁可保证内存分配器代码临界段的线程执行顺序。

公开 apr.互斥锁

取互斥锁() 

    本方法设置返回码,成功返回互斥锁对象,失败返回空对象。

公开 apr.内存节点

申请内存结点(整数 长度) 

    如果指定的长度累计结点头的空间总和小于8K,则以8K进行分配,否则调整为4K的整数倍。推荐使用内存池的“申请内存”方法来申请内存,因为本方法申请的内存结点还需要调用“回收内存结点”方法进行回收。本方法设置返回码,成功返回内存结点对象,失败返回空类对象。

公开 apr.返回码

置回收长度(整数 长度) 

    设置直接回收到系统的内存块大小,超过长度的内存块在“回收内存结点”时直接释放到系统,而不回收到内存分配器。

公开 apr.返回码

回收内存结点(apr.内存节点 内存结点对象) 

    回收内存结点。注意,由“申请内存结点”申请的内存结点,在不使用时一定要调用本方法进行回收(内存分配器可能将该内存结点设置为可再分配的内存,或因为超出维护的范围而释放此内存结点),否则可能导致内存泄漏(这取决于申请到的内存节点是否在内存分配器中注册)。

系统.对象 继承的方法
比较类型, 是否实现, 取类名, 发送事件, 等于, 比较, 到文本, 比较引用

初始化方法详细信息

初始化

公开 初始化()

    初始化并创建内存分配器,本方法设置返回码。


方法详细信息

创建内存分配器

公开 apr.返回码 创建内存分配器()

    创建内存分配器。


销毁

公开 销毁()

    销毁内存分配器。


置依赖内存池

公开 apr.返回码 置依赖内存池(apr.内存池 内存池对象)

    设置内存分配器属于某内存池,在内存池销毁时将销毁该内存分配器。

参数:

    内存池对象


取依赖内存池

公开 apr.内存池 取依赖内存池()

    取依赖于该内存分配器的内存池。本方法设置返回码,成功返回内存池对象,失败返回空对象。


置互斥锁

公开 apr.返回码 置互斥锁(apr.互斥锁 互斥锁对象)

    在多线程情况下,设置互斥锁可保证内存分配器代码临界段的线程执行顺序。

参数:

    互斥锁对象


取互斥锁

公开 apr.互斥锁 取互斥锁()

    本方法设置返回码,成功返回互斥锁对象,失败返回空对象。


申请内存结点

公开 apr.内存节点 申请内存结点(整数 长度)

    如果指定的长度累计结点头的空间总和小于8K,则以8K进行分配,否则调整为4K的整数倍。推荐使用内存池的“申请内存”方法来申请内存,因为本方法申请的内存结点还需要调用“回收内存结点”方法进行回收。本方法设置返回码,成功返回内存结点对象,失败返回空类对象。

参数:

    长度


置回收长度

公开 apr.返回码 置回收长度(整数 长度)

    设置直接回收到系统的内存块大小,超过长度的内存块在“回收内存结点”时直接释放到系统,而不回收到内存分配器。

参数:

    长度


回收内存结点

公开 apr.返回码 回收内存结点(apr.内存节点 内存结点对象)

    回收内存结点。注意,由“申请内存结点”申请的内存结点,在不使用时一定要调用本方法进行回收(内存分配器可能将该内存结点设置为可再分配的内存,或因为超出维护的范围而释放此内存结点),否则可能导致内存泄漏(这取决于申请到的内存节点是否在内存分配器中注册)。

参数:

    内存结点对象



http://dotef.eyuyan.com