[發明專利]軟件定時器的實現方法和系統有效
| 申請號: | 201310439031.2 | 申請日: | 2013-09-24 |
| 公開(公告)號: | CN103473071A | 公開(公告)日: | 2013-12-25 |
| 發明(設計)人: | 李銳明;黃世華;鐘虎林;羅均文;朱敬毅;甘鳴春;別業輝 | 申請(專利權)人: | 深圳市路通網絡技術有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙) 44285 | 代理人: | 唐華明 |
| 地址: | 518057 廣東省深圳市南山區科豐路2號*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 軟件 定時器 實現 方法 系統 | ||
1.一種軟件定時器的實現方法,其特征在于,包括:
預定義循環計時器;
依據所述循環計時器的計時位數,確定第一計時數組和第二計時數組,所述第一計時數組和所述第二計時數組相同,所述第一計時數組和所述第二計時數組的各個元素對應所述循環計時器的各個計時刻度;
當需要增加定時器時,判斷待增加的定時器的定時時長是否在所述循環計時器的計時時長范圍內;
如果是,則依據所述循環計時器當前的計時時刻與所述待增加的定時器的定時時長確定所述待增加的定時器對應的第一目的計時時刻,并將所述待增加的定時器掛載在所述第一計時數組中的第一目的計時時刻下的定時器隊列中;其中,所述第一目的計時時刻與當前計時時刻的差值為所述待增加的定時器的定時時長;
如果否,獲取將所述待增加的定時器的定時時長與所述循環計時器的計時時長做除法運算所得到的商值和余數值;依據所述循環計時器當前的計時時刻與所述余數確定所述待增加的定時器對應的第二目的計時時刻,并將所述待增加的定時器掛載在所述第二計時數組中的第二目的計時時刻下的定時器隊列中;并設置與所述待增加的定時器相對應的計數器,所述計數器的初始值大于或等于所述商值;其中,所述第二目的計時時刻與當前計時時刻的差值為所述余數值。
2.根據權利要求1所述的方法,其特征在于,當所述計數器的初始值大于所述商值時,還包括:掃描當前計時時刻下的定時器隊列,
當第一計時數組中的當前計時時刻下掛載有定時器時,確定當前計時時刻下掛載的定時器達到定時時長;
當第二計時數組中的當前計時時刻下掛載有定時器時,將當前計時時刻下掛載的所有定時器所對應的計數器減一,在當前計時時刻下掛載的定時器所對應的計數器計數值為目標計數值時,確定當前計時時刻下掛載的定時器達到定時時長;
其中,所述目標計數值為大于或等于零的整數,所述計數器的初始值依據第一公式確定,所述第一公式為:
計數器初始值=目標計數值+商值+1。
3.根據權利要求1所述的方法,其特征在于,當所述計數器的初始值等于所述商值時,還包括:掃描當前計時時刻下的定時器隊列,
當第一計時數組中的當前計時時刻下掛載有定時器時,確定當前計時時刻下掛載的定時器達到定時時長;
當第二計時數組中的當前計時時刻下掛載有定時器時,將當前計時時刻下掛載的所有定時器所對應的計數器減一,在當前計時時刻下掛載的定時器所對應的計數器計數值為零時,將第二計時數組中當前計時時刻下掛載的定時器移至所述第一計時數組的當前計時時刻下。
4.根據權利要求2或3所述的方法,其特征在于,當判斷出有定時器達到定時時長時,還包括:
判斷所述達到定時時長的定時器是否為循環定時器,如果是,則增加相同定時時長的定時器。
5.根據權利要求4所述的方法,其特征在于,還包括:
如果所述達到定時時長的定時器不是循環定時器,則將所述達到定時時長的定時器釋放并進行緩存。
6.根據權利要求2或3所述的方法,其特征在于,對當前計時時刻下的定時器隊列進行掃描后,還包括:
判斷是否到達下一計時時刻,如果是,則掃描下一計時時刻下掛載的定時器隊列;否則,等待下一計時時刻到達時,再掃描下一計時時刻下掛載的定時器隊列。
7.根據權利要求1所述的方法,其特征在于,所述循環計時器的計時時長依據定時器的定時時長確定。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市路通網絡技術有限公司,未經深圳市路通網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310439031.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種分布式java程序運行方法、裝置和系統
- 下一篇:無螺絲彈性眼鏡架





