发明名称 | 利用内存开销提高计时器执行效率的方法 | ||
摘要 | 本发明涉及利用内存开销提高计时器执行效率的方法,步骤为:1)创建规模为N的数组,每个数组成员挂载由计时器节点组成的链表,同时维护当前的计时器索引变量V;2)当有计时器需注册时,根据该注册计时器节点的超时时间T与当前计时器索引变量V计算出数组下标I,根据这个下标将需要注册的计时器节点插入到对应数组成员挂载的链表中;3)每次晶振芯片产生中断时,对变量V执行加一并对N取模的操作,用该操作结果更新变量V;4)每次收到晶振芯片产生的中断时,执行对计时器索引变量V的维护,之后将V作为数组下标,该下标对应的数组成员挂载的链表中的每个节点都是超时节点,删除这些计时器节点,并通知注册该计时器节点的任务。本发明以增加适当内存开销的手段,来换取更高的计时器实现效率。 | ||
申请公布号 | CN103901941A | 申请公布日期 | 2014.07.02 |
申请号 | CN201210586981.3 | 申请日期 | 2012.12.28 |
申请人 | 北京大唐高鸿软件技术有限公司 | 发明人 | 侯玉成;樊劲松;王志刚 |
分类号 | G06F1/04(2006.01)I | 主分类号 | G06F1/04(2006.01)I |
代理机构 | 北京北新智诚知识产权代理有限公司 11100 | 代理人 | 张卫华 |
主权项 | 一种利用内存开销提高计时器执行效率的方法,其特征在于包括以下步骤:1)初始化步骤:创建一个数组,数组规模为N,每个数组成员挂载一个由计时器节点组成的链表,该链表初始为空链表,同时维护一个当前的计时器索引变量V,该变量V的初始值为零;2)计时器注册步骤:当有计时器需要注册时,根据该注册计时器节点的超时时间T与当前计时器索引变量V,计算出一个数组下标I,然后根据这个下标,将需要注册的计时器节点插入到对应数组成员挂载的链表中;3)维护当前计时器索引变量V步骤:每次晶振芯片产生中断时,对变量V执行加一并对N取模的操作,用该操作结果更新变量V;4)计时器节点超时的判断和处理步骤:每次收到晶振芯片产生的中断时,首先执行对计时器索引变量V的维护,之后将V作为数组下标,该下标对应的数组成员挂载的链表中的每个节点都是超时节点,对该链表进行遍历,遍历操作是删除计时器节点,并通知注册该计时器节点的任务。 | ||
地址 | 100191 北京市海淀区学院路40号 |