[发明专利]一种定时器的实现方法无效

专利信息
申请号: 200910311448.4 申请日: 2009-12-15
公开(公告)号: CN101727352A 公开(公告)日: 2010-06-09
发明(设计)人: 尤金刚 申请(专利权)人: 四川长虹电器股份有限公司
主分类号: G06F9/46 分类号: G06F9/46;G06F1/04
代理公司: 成都虹桥专利事务所 51124 代理人: 李顺德
地址: 621000 四*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 定时器 实现 方法
【说明书】:

技术领域

发明涉及定时器技术,特别涉及软件定时器技术。

背景技术

众所周知,定时器功能在软件开发中是极其重要的,也是无处不在的。无论是在计算机上的应用软件开发还是嵌入式产品下的开发,都是必不可少的一个重要模块,如电视机中的定时开关机、播放器软件中的播放进度条显示等等,都是离不开定时器管理的,现在大多数产品的软件开发中,定时器的管理都是基于硬件时钟的接口函数或系统函数来实现的,存在很大的不统一性,不方便软件模块的整体移植,另外在对多个定时器事件的管理方面比较混乱。

发明内容

本发明所要解决的技术问题,就是为了克服目前软件定时器不方便软件模块的整体移植的缺点,提供一种定时器的实现方法。

本发明解决其技术问题,采用的技术方案是,一种定时器的实现方法,其特征在于,包括以下步骤:

a.主线程创建定时器队列,并将定时器队列初始化,生成一个用来管理此队列的头结点,以便于对此定时器队列的各种操作;

b.用户线程创建软件定时器,初始化定时器参数;

c.主线程根据用户创建的软件定时器创建子线程,通过硬件时钟初始化软件时钟;

d.主线程根据用户创建软件定时器的操作,完成该定时器在队列中的注册,在此过程中进行队列操作共享锁的加锁操作,完成后解锁;

e.子线程按顺序轮巡队列中所有的用户自定义的定时器结点,利用select函数逐个判断其timer_remain_value计数器的值是否为0,若是则进入g步骤,若不是则进入f步骤;

f.对其timer_remain_value计数器进行减“1”操作,回到e步骤;

g.执行达到超时的定时器事件。

具体的,步骤b所述定时器参数包括定时器ID号、定时器超时时间、定时器离超时的剩余时间、定时器链表指针、定时器队列同步锁机制、定时器超时操作的事件。

进一步的,步骤g还包括以下步骤:

g1.根据用户选择判断该定时器功能是否还要继续使用,若是则进入g2步骤,若不是则进入g3;

g2.将其timer_remain_value计数器重新设为timer_max_value;

g3.在定时器队列中注销该定时器节点。

具体的,还包括以下步骤:

h.用户可随时在主线程中通过定时器ID号进行注销操作。

本发明的有益效果是,通过上述一种定时器的实现方法对定时器进行统一控制,对多个定时器管理清晰,方便软件模块的整体移植,且采用select函数能获取比较高的精度。

具体实施方式

下面结合实施例,详细描述本发明的技术方案。

本发明提供了一种定时器的实现方法,首先主线程创建定时器队列,并将定时器队列初始化,生成一个用来管理此队列的头结点,以便于对此定时器队列的各种操作,然后用户线程创建软件定时器,初始化定时器参数,主线程再根据用户创建的软件定时器创建子线程,通过硬件时钟初始化软件时钟,完成该定时器在队列中的注册,在此过程中进行队列操作共享锁的加锁操作,完成后解锁,子线程按顺序轮巡队列中所有的用户自定义的定时器结点,利用select函数逐个判断其timer_remain_value计数器的值是否为0,若是则执行达到超时的定时器事件,若不是则对其timer_remain_value计数器进行减“1”操作,回到子线程按顺序轮巡那一步。

实施例

本例采用本发明方案进行定时器的实现。

首先主线程创建定时器队列,并将定时器队列初始化,生成一个用来管理此队列的头结点,以便于对此定时器队列的各种操作,如添加,删除,清空等等,然后用户线程创建软件定时器,初始化定时器参数,定时器参数包括定时器ID号、定时器超时时间、定时器离超时的剩余时间、定时器链表指针、定时器队列同步锁机制、定时器超时操作的事件,主线程再根据用户创建的软件定时器创建子线程,通过硬件时钟初始化软件时钟,完成该定时器在队列中的注册,在此过程中进行队列操作共享锁的加锁操作,完成后解锁,子线程按顺序轮巡队列中所有的用户自定义的定时器结点,利用select函数逐个判断其timer_remain_value计数器的值是否为0,若不是则对其timer_remain_value计数器进行减“1”操作,回到子线程按顺序轮巡那一步,若是则执行达到超时的定时器事件,根据用户选择判断该定时器功能是否还要继续使用,若是则将其timer_remain_value计数器重新设为timer_max_value,若不是则在定时器队列中注销该定时器节点,用户可随时在主线程中通过定时器ID号进行注销操作。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910311448.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top