[发明专利]定时方法无效
申请号: | 201010559544.3 | 申请日: | 2010-11-23 |
公开(公告)号: | CN102478878A | 公开(公告)日: | 2012-05-30 |
发明(设计)人: | 高峰 | 申请(专利权)人: | 天津中兴软件有限责任公司 |
主分类号: | G06F1/06 | 分类号: | G06F1/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 300300 天津市空港*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定时 方法 | ||
1.一种定时方法,其特征在于,包括:
接收软件模块发送的定时器调用请求;
为所述软件模块分配空闲的定时器,并利用被分配的定时器进行计时;
当所述被分配的定时器的计时时间到达对应的预设定时时间时,向所述软件模块发送定时器到时消息。
2.如权利要求1所述的方法,其特征在于,向所述软件模块发送定时器到时消息之后,还包括:将所述被分配的定时器恢复为空闲状态,并释放所述被分配的定时器占用的资源。
3.如权利要求1或2所述的方法,其特征在于,所述利用被分配的定时器进行计时,包括:
获取所述被分配的定时器的预设定时时间,并确定时钟滴答数组中游标当前指向的第一成员,所述成员代表设定的时间长度值;
根据所述预设定时时间,估测所述被分配的定时器的计时时间到达所述预设定时时间时所述游标指向的第二成员,并将所述被分配的定时器挂载到所述第二成员下;
根据所述预设定时时间,预测所述游标遍历所述时钟滴答数组的次数N,其中,N等于所述预设定时时间与所述时钟滴答数组的总时长的比值向下取整;
移动所述游标进行计时,当所述游标第N+1次移动到指向第二成员时,所述被分配的定时器的计时时间到达所述预设定时时间。
4.如权利要求3所述的方法,其特征在于,还包括:
当所述时钟滴答数组的一个成员下挂载至少一个定时器时,采用双向链表方式将该成员下的至少一个定时器的标识串联;
在所述双向链表中,每个定时器的标识对应一前置变量wPreNode和一后置变量wNextNode,其中,所述wPreNode用于指向该标识标志的定时器的前一个定时器的标识,所述wNextNode用于指向该标识标志的定时器的后一个定时器的标识。
5.如权利要求4所述的方法,其特征在于,还包括:
在已挂载至少一个定时器的成员下增加定时器时,将增加的定时器的标识放到所述双向链表的表头,利用所述增加的定时器的标识的后置变量链接所述双向链表的原表头对应的定时器的标识。
6.如权利要求2所述的方法,其特征在于,所述为所述软件模块分配定时器,包括:
在空闲结点表中查询空闲的定时器在定时器共享内存中的位置信息,所述定时器共享内存按数组方式存储已被分配的定时器和空闲的定时器,每个定时器是其所在的存储数组的一个成员;
根据查询到的位置信息在定时器共享内存中确定对应的空闲的定时器;
将确定的空闲的定时器分配给所述软件模块。
7.如权利要求6所述的方法,其特征在于,所述空闲结点表具有指向所述空闲结点表表头的头变量wFreeHead和指向所述空闲结点表表尾的尾变量wFreeTail,且当所述wFreeHead和所述wFreeTail指向的成员的数值均大于所述存储数组的最大值时,设置所述wFreeHead和所述wFreeTail返回并指向所述存储数组的第一位成员;
为所述软件模块分配一个空闲的定时器之后,设置所述wFreeHead在所述存储数组中后移一位;
释放一个被分配的定时器占用的资源之后,设置所述wFreeTail在所述存储数组中后移一位。
8.如权利要求1所述的方法,其特征在于,还包括:
当所述被分配的定时器的计时时间未到达对应的预设定时时间时,接收定时器取消请求,通知被分配的定时器停止计时。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津中兴软件有限责任公司,未经天津中兴软件有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010559544.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高压断路器的改造方法
- 下一篇:间接式分体型主动激光角位传感器