【技术实现步骤摘要】
本专利技术涉及计算机软件领域,特别是涉及一种基于多线程操作系统环境下的定时器的设置方法。
技术介绍
在软件开发中经常需要用到定时器,特别是在通信系统的设计中,有大量的定时要求。程序可能定时执行一些任务,或者在通信的过程中,收发双方都需要用到定时器发送方发送消息以后有时候需要对方在约定的时间内收到对方的回应,如果在规定的时间内收不到回应,需要进行适当的处理,或者重发消息,或者进入出错处理。在许多基于网络通信的协议中,都有许多与定时器相关的规约,要实现这些协议,定时器的实现是最基本的要求之一。因此,定时器在现代程序设计中起着至关重要的作用。定时器的设置方法,根据实现的复杂度、系统的规模、系统运行的效率要求等,目前有很多种实现方法。其中一种使用比较普遍的方法是增量定时器。在增量定时器的实现中,设计了一种存放定时器信息的数据结构,我们把这个结构叫做定时器控制块(Timer Control Block,简称TCB),TCB记录了单个定时器实例的唯一标识(timer ID)、定时器的超时时长、定时器触发时的操作。定时器超时触发时的操作机制一般有两种实现方法一种是系统触发执行 ...
【技术保护点】
一种基于多线程环境下的定时器的设置方法,其特征在于,在传统的采用一个双向链表(称为“链表1”),按超时时间顺序管理所有定时器单元的基础上,还增加了一个按照定时器唯一标识进行索引的索引数据结构,以及另外一个双向链表用来按时间顺序把在不同时间段触发的第一个定时器单元连接起来,此链表称为“链表2”;所述索引数据结构,用于:当清除一个未触发的定时器时,需要首先根据定时器的唯一标识查找到这个定时器单元,利用这个索引数据结构可以快速查找到需要清除的定时器单元,查找时间由原来的单纯链表的组织方式的O(n)的时间效率提高到0(logen);所述链表2,用于:当增加新定时器单元时,可以通过遍 ...
【技术特征摘要】
1.一种基于多线程环境下的定时器的设置方法,其特征在于,在传统的采用一个双向链表(称为“链表1”),按超时时间顺序管理所有定时器单元的基础上,还增加了一个按照定时器唯一标识进行索引的索引数据结构,以及另外一个双向链表用来按时间顺序把在不同时间段触发的第一个定时器单元连接起来,此链表称为“链表2” ; 所述索引数据结构,用于当清除一个未触发的定时器时,需要首先根据定时器的唯一标识查找到这个定时器单元,利用这个索引数据结构可以快速查找到需要清除的定时器单元,查找时间由原来的单纯链表的组织方式的0(n)的时间效率提高到O(Iogen); 所述链表2,用于当增加新定时器单元时,可以通过遍历链表2更加快速定位到新定时器单元的插入位置,从而提高增加新定时器单元的时间效率。2.根据权利要求1所述的索引数据结构,其特征在于,包括 索引数据结构可以采用整数哈希函数的方式组织,也可以采用常用的编程语言中已经定义的map函数库。3.一种基于多线程环境下的定时器的设置方法,其特征在于,包括 定时器循环执行线程定时取到前述传统增量定时器链表的第一个定时器单元,将其超时时长减去timerTick时间值;如果新的超时时长大于O,则表示此定时器单元尚未超时,不需要进行任何操作;如果新的超时时长小于等于0,则表示此定时器单元已经超时,需要触发超时操作,步骤如下 1)执行定时器单元中指定的操作函数或发送指定的消息; 2)将这个定时器单元从前述链表I中删除; 3)将这个定时器单元从前述链表2中删除; 4)从索引结构中删除当前定时器单元...
【专利技术属性】
技术研发人员:田之进,梁平,宁学军,
申请(专利权)人:佳都新太科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。