欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種定時器的實(shí)現(xiàn)方法

文檔序號:6408279閱讀:482來源:國知局
專利名稱:一種定時器的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及定時器技術(shù),特別涉及軟件定時器技術(shù)。
背景技術(shù)
眾所周知,定時器功能在軟件開發(fā)中是極其重要的,也是無處不在的。無論是在計(jì) 算機(jī)上的應(yīng)用軟件開發(fā)還是嵌入式產(chǎn)品下的開發(fā),都是必不可少的一個重要模塊,如電視 機(jī)中的定時開關(guān)機(jī)、播放器軟件中的播放進(jìn)度條顯示等等,都是離不開定時器管理的,現(xiàn)在 大多數(shù)產(chǎn)品的軟件開發(fā)中,定時器的管理都是基于硬件時鐘的接口函數(shù)或系統(tǒng)函數(shù)來實(shí)現(xiàn) 的,存在很大的不統(tǒng)一性,不方便軟件模塊的整體移植,另外在對多個定時器事件的管理方 面比較混亂。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題,就是為了克服目前軟件定時器不方便軟件模塊的整 體移植的缺點(diǎn),提供一種定時器的實(shí)現(xiàn)方法。 本發(fā)明解決其技術(shù)問題,采用的技術(shù)方案是,一種定時器的實(shí)現(xiàn)方法,其特征在 于,包括以下步驟 a.主線程創(chuàng)建定時器隊(duì)列,并將定時器隊(duì)列初始化,生成一個用來管理此隊(duì)列的
頭結(jié)點(diǎn),以便于對此定時器隊(duì)列的各種操作; b.用戶線程創(chuàng)建軟件定時器,初始化定時器參數(shù); c.主線程根據(jù)用戶創(chuàng)建的軟件定時器創(chuàng)建子線程,通過硬件時鐘初始化軟件時 鐘; d.主線程根據(jù)用戶創(chuàng)建軟件定時器的操作,完成該定時器在隊(duì)列中的注冊,在此 過程中進(jìn)行隊(duì)列操作共享鎖的加鎖操作,完成后解鎖; e.子線程按順序輪巡隊(duì)列中所有的用戶自定義的定時器結(jié)點(diǎn),利用select函數(shù) 逐個判斷其timer—remain—value計(jì)數(shù)器的值是否為0,若是則進(jìn)入g步驟,若不是則進(jìn)入f 步驟; f.對其timer_remain_value計(jì)數(shù)器進(jìn)行減"1"操作,回到e步驟;
g.執(zhí)行達(dá)到超時的定時器事件。 具體的,步驟b所述定時器參數(shù)包括定時器ID號、定時器超時時間、定時器離超時
的剩余時間、定時器鏈表指針、定時器隊(duì)列同步鎖機(jī)制、定時器超時操作的事件。 進(jìn)一步的,步驟g還包括以下步驟 gl.根據(jù)用戶選擇判斷該定時器功能是否還要繼續(xù)使用,若是則進(jìn)入g2步驟,若 不是則進(jìn)入g3 ; g2.將其timer_remain_value計(jì)數(shù)器重新設(shè)為timer_max_value ;
g3.在定時器隊(duì)列中注銷該定時器節(jié)點(diǎn)。
具體的,還包括以下步驟
3
h.用戶可隨時在主線程中通過定時器ID號進(jìn)行注銷操作。 本發(fā)明的有益效果是,通過上述一種定時器的實(shí)現(xiàn)方法對定時器進(jìn)行統(tǒng)一控制, 對多個定時器管理清晰,方便軟件模塊的整體移植,且采用select函數(shù)能獲取比較高的精 度。
具體實(shí)施例方式
下面結(jié)合實(shí)施例,詳細(xì)描述本發(fā)明的技術(shù)方案。 本發(fā)明提供了一種定時器的實(shí)現(xiàn)方法,首先主線程創(chuàng)建定時器隊(duì)列,并將定時器
隊(duì)列初始化,生成一個用來管理此隊(duì)列的頭結(jié)點(diǎn),以便于對此定時器隊(duì)列的各種操作,然后
用戶線程創(chuàng)建軟件定時器,初始化定時器參數(shù),主線程再根據(jù)用戶創(chuàng)建的軟件定時器創(chuàng)建
子線程,通過硬件時鐘初始化軟件時鐘,完成該定時器在隊(duì)列中的注冊,在此過程中進(jìn)行隊(duì)
列操作共享鎖的加鎖操作,完成后解鎖,子線程按順序輪巡隊(duì)列中所有的用戶自定義的定
時器結(jié)點(diǎn),利用select函數(shù)逐個判斷其timer—remain—value計(jì)數(shù)器的值是否為O,若是則
執(zhí)行達(dá)到超時的定時器事件,若不是則對其timer—remain—value計(jì)數(shù)器進(jìn)行減"1"操作,
回到子線程按順序輪巡那一步。 實(shí)施例 本例采用本發(fā)明方案進(jìn)行定時器的實(shí)現(xiàn)。 首先主線程創(chuàng)建定時器隊(duì)列,并將定時器隊(duì)列初始化,生成一個用來管理此隊(duì)列 的頭結(jié)點(diǎn),以便于對此定時器隊(duì)列的各種操作,如添加,刪除,清空等等,然后用戶線程創(chuàng) 建軟件定時器,初始化定時器參數(shù),定時器參數(shù)包括定時器ID號、定時器超時時間、定時器 離超時的剩余時間、定時器鏈表指針、定時器隊(duì)列同步鎖機(jī)制、定時器超時操作的事件,主 線程再根據(jù)用戶創(chuàng)建的軟件定時器創(chuàng)建子線程,通過硬件時鐘初始化軟件時鐘,完成該定 時器在隊(duì)列中的注冊,在此過程中進(jìn)行隊(duì)列操作共享鎖的加鎖操作,完成后解鎖,子線程 按順序輪巡隊(duì)列中所有的用戶自定義的定時器結(jié)點(diǎn),利用select函數(shù)逐個判斷其timer_ remain_value計(jì)數(shù)器的值是否為O,若不是則對其timer_remain_value計(jì)數(shù)器進(jìn)行減"l" 操作,回到子線程按順序輪巡那一步,若是則執(zhí)行達(dá)到超時的定時器事件,根據(jù)用戶選擇 判斷該定時器功能是否還要繼續(xù)使用,若是則將其timer—remairuvalue計(jì)數(shù)器重新設(shè)為 timerjiiax—value,若不是則在定時器隊(duì)列中注銷該定時器節(jié)點(diǎn),用戶可隨時在主線程中通 過定時器ID號進(jìn)行注銷操作。
權(quán)利要求
一種定時器的實(shí)現(xiàn)方法,其特征在于,包括以下步驟a.主線程創(chuàng)建定時器隊(duì)列,并將定時器隊(duì)列初始化,生成一個用來管理此隊(duì)列的頭結(jié)點(diǎn),以便于對此定時器隊(duì)列的各種操作;b.用戶線程創(chuàng)建軟件定時器,初始化定時器參數(shù);c.主線程根據(jù)用戶創(chuàng)建的軟件定時器創(chuàng)建子線程,通過硬件時鐘初始化軟件時鐘;d.主線程根據(jù)用戶創(chuàng)建軟件定時器的操作,完成該定時器在隊(duì)列中的注冊,在此過程中進(jìn)行隊(duì)列操作共享鎖的加鎖操作,完成后解鎖;e.子線程按順序輪巡隊(duì)列中所有的用戶自定義的定時器結(jié)點(diǎn),利用select函數(shù)逐個判斷其timer_remain_value計(jì)數(shù)器的值是否為0,若是則進(jìn)入g步驟,若不是則進(jìn)入f步驟;f.對其timer_remain_value計(jì)數(shù)器進(jìn)行減“1”操作,回到e步驟;g.執(zhí)行達(dá)到超時的定時器事件。
2. 根據(jù)權(quán)利要求l所述一種定時器的實(shí)現(xiàn)方法,其特征在于,步驟b所述定時器參數(shù)包 括定時器ID號、定時器超時時間、定時器離超時的剩余時間、定時器鏈表指針、定時器隊(duì)列 同步鎖機(jī)制、定時器超時操作的事件。
3. 根據(jù)權(quán)利要求1所述一種定時器的實(shí)現(xiàn)方法,其特征在于,步驟g還包括以下步驟 gl.根據(jù)用戶選擇判斷該定時器功能是否還要繼續(xù)使用,若是則進(jìn)入g2步驟,若不是則進(jìn)入g3 ;g2.將其timer_remain_value計(jì)數(shù)器重新設(shè)為timer_max_value ; g3.在定時器隊(duì)列中注銷該定時器節(jié)點(diǎn)。
4. 根據(jù)權(quán)利要求1所述一種定時器的實(shí)現(xiàn)方法,其特征在于,還包括以下步驟h. 用戶可隨時在主線程中通過定時器ID號進(jìn)行注銷操作。
全文摘要
本發(fā)明涉及定時器技術(shù)。本發(fā)明解決了目前軟件定時器不方便軟件模塊的整體移植的問題,提供了一種定時器的實(shí)現(xiàn)方法,其技術(shù)方案可概括為首先主線程創(chuàng)建定時器隊(duì)列,初始化定時器隊(duì)列,生成一個用來管理此隊(duì)列的頭結(jié)點(diǎn),然后用戶線程創(chuàng)建軟件定時器,初始化定時器參數(shù),主線程再創(chuàng)建子線程,通過硬件時鐘初始化軟件時鐘,完成該定時器在隊(duì)列中的注冊,在此過程中進(jìn)行隊(duì)列操作共享鎖的加鎖操作,子線程按順序輪巡隊(duì)列中所有的用戶自定義的定時器結(jié)點(diǎn),逐個判斷其計(jì)數(shù)器的值是否為0,若是則執(zhí)行達(dá)到超時的定時器事件,若不是則對其計(jì)數(shù)器進(jìn)行減“1”操作,回到子線程按順序輪巡那一步。其有益效果是,方便,適用于定時器。
文檔編號G06F9/46GK101727352SQ200910311448
公開日2010年6月9日 申請日期2009年12月15日 優(yōu)先權(quán)日2009年12月15日
發(fā)明者尤金剛 申請人:四川長虹電器股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
平遥县| 孟连| 维西| 邮箱| 秦安县| 乳山市| 定远县| 竹北市| 栾城县| 宁化县| 阳西县| 沙坪坝区| 石家庄市| 侯马市| 镇宁| 喜德县| 濮阳市| 清苑县| 德令哈市| 海南省| 屏南县| 山丹县| 吉木萨尔县| 德惠市| 葫芦岛市| 阜城县| 温宿县| 宜章县| 绩溪县| 柳河县| 沙坪坝区| 曲周县| 阜康市| 祁门县| 富民县| 图木舒克市| 洛扎县| 西青区| 凤阳县| 若羌县| 呼玛县|