【技术实现步骤摘要】
一种基于状态机管理链式内存的方法
本申请涉及计算机软件编程
,尤其涉及一种基于状态机管理链式内存的方法。
技术介绍
随着计算机操作系统中内存设备容量的扩大、运行效率的提升以及64位软件程序对系统内存寻址空间范围的扩充,使得程序开发人员在设计过程中对内存的规划更加松散化,并且使用频率与以往相比成倍增加。繁琐的规划和操作带来的是更多的风险和工作量,诸如内存访问越界、访问重叠、同步死锁等,逐步成为困扰开发人员的主要问题。因此,在内存的操作和管理方面,更多的重视度和创意开发点开始聚集,同时也涌现出越来越多相关策略。在计算机系统里链表是常用的数据结构,通常多个线程同时访问读取链表每个结点的数据是没有问题的,不存在多个线程之间的访问冲突的数据异常。但当多个线程同时访问大批量内存,对链表添加或删除结点时,将会导致错乱和安全性的问题,从而使得内存空间的使用效率大大降低。
技术实现思路
本申请提供了一种基于状态机管理链式内存的方法,根据不同的使用状态,对内存空间中每个内存块进行分组并指派不同的操作权限,从而达 ...
【技术保护点】
1.一种基于状态机管理链式内存的方法,其特征在于,包括以下步骤:/n创建状态机变量,所述状态机变量包括空闲、预处理、运行中和预重置四种状态队列,且按照空闲、预处理、运行中和预重置的顺序依次循环调用相邻的状态队列;/n记录所述状态机变量不同状态下对应的链表对象和线程互斥对象,并将各链表对象置清空状态;/n根据预设参数创建指定个数的内存对象,每个所述内存对象为包括内存序号和内存块地址的内存信息结构体;/n请求分配与所述内存对象同等个数及大小的内存空间,将内存空间中每个内存块的首地址记录到内存块地址中,所述内存块地址为内存对象中对应内存序号的内存块地址;/n将记录内存块首地址的内 ...
【技术特征摘要】
1.一种基于状态机管理链式内存的方法,其特征在于,包括以下步骤:
创建状态机变量,所述状态机变量包括空闲、预处理、运行中和预重置四种状态队列,且按照空闲、预处理、运行中和预重置的顺序依次循环调用相邻的状态队列;
记录所述状态机变量不同状态下对应的链表对象和线程互斥对象,并将各链表对象置清空状态;
根据预设参数创建指定个数的内存对象,每个所述内存对象为包括内存序号和内存块地址的内存信息结构体;
请求分配与所述内存对象同等个数及大小的内存空间,将内存空间中每个内存块的首地址记录到内存块地址中,所述内存块地址为内存对象中对应内存序号的内存块地址;
将记录内存块首地址的内存对象存储至状态机的任一状态队列;
当申请者申请调用所述状态机变量在任一状态队列下的内存空间时,将第一状态队列中第一个内存对象包含的对象指针返回至申请者,同时将所述对象指针迁移至第二状态队列的队尾位置,并删除所述对象指针所处的第一状态队列中的内存对象,其中,所述第一状态为状态机变量的任一状态,所述第二状态为与所述第一状态相邻的下一状态。
2.根据权利要求1所述的基于状态机管理链式内存的方法,其特征在于,
当申请者申请调用空闲状态队列下的内存空间时,将空闲状态队列中第一个内存对象包含的对象指针返回至申请者,同时将所述对象指针迁移至预处理状态队列的队尾位置,并删除所述对象指针所处的空闲状态队列中的内存对象。
3.根据权利要求2...
【专利技术属性】
技术研发人员:薛峰,周钟海,赵严,姚毅,杨艺,
申请(专利权)人:凌云光技术股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。