[发明专利]一种在线课堂系统中内存动态分配方法及设备有效
申请号: | 201410655171.8 | 申请日: | 2014-11-17 |
公开(公告)号: | CN104461915A | 公开(公告)日: | 2015-03-25 |
发明(设计)人: | 沈玉将;董晓宏 | 申请(专利权)人: | 苏州阔地网络科技有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F9/46 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 215121 江苏省苏州市苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 在线 课堂 系统 内存 动态分配 方法 设备 | ||
技术领域
本发明属于内存分配方法领域,尤其涉及一种在线课堂系统中内存动态分配方法及设备。
背景技术
现有的软件开发过程中,需要同时使用多线程来快速完成任务。为了避免多线程执行任务中造成的一块内存同时被进行读取和写入操作,需要在读写过程中设置阻塞。但当读写线程过多时,会导致阻塞等待时间过长,从而影响画面流畅感。
现有的内存管理机制主要是根据统计到的内存的使用情况建立内存池,并将内存池划分为大小一致的内存块。在执行任务时,线程申请对应的内存空间,如果申请的空间大于实际所需要的,这会导致内存浪费;如果申请的内存太小,又会影响到线程的正常工作。因此需要内核对系统内存进行有效地管理,做到有效地申请合适大小的内存空间。
发明内容
本发明提供一种在线课堂系统中内存动态分配方法及设备,以解决上述问题。
本发明提供一种在线课堂系统中内存动态分配方法。上述方法包括以下步骤:主线程创建第一预设数目的子线程,并创建与所述子线程数目相同的内存块;所述主线程将所述内存块放入内存队列中,并按照所述内存块的时间戳的先后顺序将内存队列中的所述内存块进行排序,其中,排在所述内存队列中第一位置的为队首,排在所述内存队列中最后位置的为队尾;所述主线程将所述内存队列中的队尾位置的所述内存块分配给执行读取操作的子线程;所述主线程将所述内存队列中的队首位置的所述内存块分配给执行写入操作的子线程。
本发明还提供一种在线课堂系统中内存动态分配设备,上述设备包括:主线程管理模块和内存队列管理模块,所述主线程管理模块和所述内存队列管理模块相连接;其中所述主线程管理模块包括多个子线程,所述内存队列管理模块包括多个内存块;所述主线程管理模块,用于创建第一预设数目的子线程,并创建与所述子线程数目相同的内存块;还用于将所述内存块放入内存队列管理模块中,并按照所述内存块的时间戳的先后顺序将内存队列管理模块中的所述内存块进行排序,其中,排在所述内存队列管理模块中第一位置的为队首,排在所述内存队列管理模块中最后位置的为队尾;还用于将所述内存队列管理模块中的队尾位置的所述内存块分配给执行读取操作的子线程;还用于将所述内存队列管理模块中的队首位置的所述内存块分配给执行写入操作的子线程;所述内存队列管理模块用于存放所述内存块。
相较于先前技术,根据本发明提供的在线课堂系统中内存动态分配方法及设备,本发明采取动态分配的方法将内存资源分配给子线程,提高了数据存储和读取的速度。本发明采取动态分配的方法避免了因一次分配太少,子线程不能满足系统运行要求,同时避免了因一次分配过多,造成内存浪费,从而影响其它线程工作的问题。另外,本发明提供的方法能在保持通用内存管理的高效性和可靠性的同时,有效地降低、甚至解决了内存管理中存在的内存资源浪费的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为根据本发明的较佳实施例提供的在线课堂系统中内存动态分配方法的流程图;
图2所示为根据本发明的较佳实施例提供的在线课堂系统中内存动态分配设备结构图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示为根据本发明的较佳实施例提供的在线课堂系统中内存动态分配方法的流程图。如图1所示,本发明的较佳实施例提供的在线课堂系统中内存动态分配方法包括步骤101-104。
步骤101:主线程创建第一预设数目的子线程,并创建与所述子线程数目相同的内存块;
所述创建的内存块的大小相等。
举例而言,主线程根据摄像头的分辨率来创建相应大小的内存块,具体创建的内存块的大小为摄像头一帧图像的大小,不同分辨率的摄像头的一帧图像的大小不同。如摄像头的分辨率为1920×1080,则内存块的大小为1920×1080×3。
步骤102:所述主线程将所述内存块放入内存队列中,并按照所述内存块的时间戳的先后顺序将内存队列中的所述内存块进行排序,其中,排在所述内存队列中第一位置的为队首,排在所述内存队列中最后位置的为队尾;
所述时间戳为所述执行写入操作的子线程在执行写入操作时记录在内存块中的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州阔地网络科技有限公司,未经苏州阔地网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410655171.8/2.html,转载请声明来源钻瓜专利网。