[发明专利]一种控制资源占用的方法及装置有效
| 申请号: | 201610017583.8 | 申请日: | 2016-01-12 |
| 公开(公告)号: | CN105677487B | 公开(公告)日: | 2019-02-15 |
| 发明(设计)人: | 潘博存 | 申请(专利权)人: | 浪潮通用软件有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 李世喆 |
| 地址: | 250100 山东*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 控制 资源 占用 方法 装置 | ||
1.一种控制资源占用的方法,其特征在于,包括:
预先根据队列的存入线程的存入数据的速度和读取线程的读取数据的速度,确定所述队列的大小,其中,所述队列的存入线程用于向所述队列存入数据,所述队列的读取线程用于从所述队列中读取数据;
根据确定出的所述队列的大小,创建所述队列;
预先设置相关线程的挂起条件,所述相关线程包括:所述存入线程、所述读取线程;
还包括:
S1:实时检测所述队列中的当前数据量;
S2:获取所述队列中的当前数据量;
S3:根据获取的所述队列中的当前数据量,判断所述相关线程是否满足所述挂起条件,如果是,则挂起所述相关线程;
所述读取线程的挂起条件,包括:所述队列中的当前数据量小于等于所述队列的大小的第一预设比例;
所述S3,包括:
判断所述队列中的当前数据量是否小于等于所述队列的大小的第一预设比例,如果是,则挂起所述队列的所述读取线程;
在判断出所述队列中的当前数据量小于等于所述队列的大小的第一预设比例时,在执行所述挂起所述队列的所述读取线程之前,还包括:
判断所述队列的所述存入线程是否停止向所述队列存入数据,如果是,则执行步骤S2,否则,执行所述挂起所述队列的所述存入线程。
2.根据权利要求1所述的方法,其特征在于,还包括:
预先设置所述相关线程的挂起时间阈值;
还包括:判断挂起的所述相关线程的挂起时间长度是否大于等于所述挂起时间阈值,如果是,则唤醒所述相关线程。
3.根据权利要求1所述的方法,其特征在于,
所述存入线程的挂起条件,包括:所述队列中的当前数据量大于等于所述队列的大小的第二预设比例;
所述S3,包括:判断所述队列中的当前数据量是否大于等于所述队列的大小的第二预设比例,如果是,则挂起所述队列的所述存入线程;
和/或,
还包括:判断所述队列的所述读取线程是否停止从所述队列中读取数据,如果是,则挂起所述队列的所述存入线程;
和/或,
所述S3,还包括:当判断出所述相关线程不满足所述挂起条件时,则判断所述相关线程是否挂起,如果是,则唤醒挂起的所述相关线程。
4.一种控制资源占用的装置,其特征在于,包括:
确定单元,用于根据队列的存入线程的存入数据的速度和读取线程的读取数据的速度,确定所述队列的大小,其中,所述队列的存入线程用于向所述队列存入数据,所述队列的读取线程用于从所述队列中读取数据;
创建单元,用于根据确定出的所述队列的大小,创建所述队列;
第一设置单元,用于设置相关线程的挂起条件,所述相关线程包括:所述存入线程、所述读取线程;
还包括:
检测单元,用于实时检测所述队列中的当前数据量;
获取单元,用于获取所述队列中的当前数据量;
挂起单元,用于根据所述获取单元获取的所述队列中的当前数据量,判断所述队列中的当前数据量是否小于等于所述队列的大小的第一预设比例,如果是,则挂起所述队列的所述读取线程;
所述挂起单元,在判断出所述队列中的当前数据量小于等于所述队列的大小的第一预设比例时,在执行所述挂起所述队列的所述读取线程之前,还用于:
判断所述队列的所述存入线程是否停止向所述队列存入数据,如果是,则触发所述获取单元,否则,执行所述挂起所述队列的所述存入线程;
第二设置单元,用于设置所述相关线程的挂起时间阈值;
第一唤醒单元,用于判断挂起的所述相关线程的挂起时间长度是否大于等于所述挂起时间阈值,如果是,则唤醒所述相关线程;
所述存入线程的挂起条件,包括:所述队列中的当前数据量大于等于所述队列的大小的第二预设比例;
所述挂起单元,用于判断所述队列中的当前数据量是否大于等于所述队列的大小的第二预设比例,如果是,则挂起所述队列的所述存入线程;
和/或,
还包括:
第二唤醒单元,用于判断所述队列的所述读取线程是否停止从所述队列中读取数据,如果是,则挂起所述队列的所述存入线程;
和/或,
所述挂起单元,还用于当判断出所述相关线程不满足所述挂起条件时,则判断所述相关线程是否挂起,如果是,则唤醒挂起的所述相关线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮通用软件有限公司,未经浪潮通用软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610017583.8/1.html,转载请声明来源钻瓜专利网。





