那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux 編程之經典多級時間輪定時器(下)

jf_78858299 ? 來源:CSDN ? 作者:叨陪鯉 ? 2023-04-21 14:45 ? 次閱讀

2.3 時間輪代碼: timewheel.c

/*
 *毫秒定時器  采用多級時間輪方式  借鑒linux內核中的實現
 *支持的范圍為1 ~  2^32 毫秒(大約有49天)
 *若設置的定時器超過最大值 則按最大值設置定時器
 **/
#include 
#include 
#include 
#include 
#include 
#include 
#include "list.h"
#include "log.h" 
#define TVN_BITS   6
#define TVR_BITS   8
#define TVN_SIZE   (1<

2.4 編譯運行

peng@ubuntu:/mnt/hgfs/timer/4. timerwheel/2. 多級時間輪$ ls
a.out  list.h  log.h  mutiTimeWheel.c
toney@ubantu:/mnt/hgfs/timer錄/4. timerwheel/2. 多級時間輪$ gcc mutiTimeWheel.c -lpthread
toney@ubantu:/mnt/hgfs/timer/4. timerwheel/2. 多級時間輪$ ./a.out 
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100
[#DEBUG: Toeny Sun: mytimer:370]:100

從結果可以看出:如果添加的定時任務是比較耗時的操作,那么后續的任務也會被阻塞,可能一直到超時,甚至一直阻塞下去,這個取決于當前任務是否耗時。

這個理論上是絕不能接受的:一個任務不應該也不能去影響其他的任務吧。但是目前沒有對此問題進行改進和完善,以后有機會再繼續完善吧。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210417
  • C語言
    +關注

    關注

    180

    文章

    7614

    瀏覽量

    137739
  • 定時器
    +關注

    關注

    23

    文章

    3255

    瀏覽量

    115391
收藏 人收藏

    評論

    相關推薦

    Linux編程之經典多級時間定時器(C語言版)

    上圖是5個時間級聯的效果圖。中間的大是工作,只有在它上的任務才會被執行;其他輪上的任務時間到后遷移到下一級輪上,他們最終都會遷移到工作
    發表于 11-08 14:06 ?892次閱讀

    時間管理和定時器編程基本知識匯總

    Linux系統編程第08期:時間管理和定時器編程 6年嵌入式開發經驗,在多家...
    發表于 12-23 08:32

    Linux實時定時器的實現及應用

    在嵌入式平臺的開發過程中,由于控制硬件的要求,常常需要提供精度在μs級的定時器;而linux內核由于采用了分時系統,一般不提供這種級別的定時器。筆者在開發高端PDA 的過程
    發表于 04-16 09:19 ?36次下載

    CHMOS可編程時間間隔定時器芯片82C54

    82C54是專為Intel系列微處理機而設計的一種可編程時間間隔定時器/計數,它是一種通用芯片,在系統軟件中可以把多級
    發表于 06-12 22:13 ?84次下載

    Linux下一種高性能定時器池的實現

    提出Linux用戶空間的一種高性能定時器池的實現方法。主要基于時間、紅黑樹及Linux內核提
    發表于 09-25 14:57 ?25次下載

    JAVA教程之定時器的使用

    JAVA教程之定時器的使用,很好的JAVA的資料,快來下載吧。
    發表于 04-13 11:41 ?14次下載

    編程控制器實驗教程之定時器指令實驗

    編程控制器實驗教程之定時器指令實驗,很好的學習資料。
    發表于 04-19 13:45 ?0次下載

    LINUX系統教程之如何在Linux系統進行編程

    本文檔的主要內容詳細介紹的是LINUX系統教程之如何在Linux系統進行編程主要內容包括了:程序開發過程 ,
    發表于 12-18 19:09 ?9次下載

    單片機教程之定時器和計數原理及應用

      本文檔的主要內容詳細介紹的是單片機教程之定時器和計數原理及應用主要內容包括了:定時器、計數原理,Mega8
    發表于 01-14 17:20 ?4次下載
    單片機教<b class='flag-5'>程之</b><b class='flag-5'>定時器</b>和計數<b class='flag-5'>器</b>原理及應用

    Linux時間子系統中的高精度定時器(HRTIMER)的原理和實現

    雖然大部分時間里,時間可以實現O(1)時間復雜度,但是當有進位發生時,不可預測的O(N)定時器級聯遷移
    發表于 05-10 14:11 ?7743次閱讀

    定時器開關怎么設置時間

    定時器開關:又稱定時器、定時開關、時間定時器開關等,是一種控制用電器定時自動開啟、關閉的電氣裝置
    的頭像 發表于 09-08 15:32 ?3.5w次閱讀
    <b class='flag-5'>定時器</b>開關怎么設置<b class='flag-5'>時間</b>

    Linux內核定時器

    Linux內核中,也可以通過定時器來完成定時功能。但和單片機不同的是,Linux內核定時器是一種基于未來
    的頭像 發表于 09-22 08:56 ?2019次閱讀
    <b class='flag-5'>Linux</b>內核<b class='flag-5'>定時器</b>

    時間定時器開關怎樣接線?

    時間定時器:又稱時間定時器開關、定時器定時控制
    的頭像 發表于 09-28 11:47 ?8145次閱讀

    Linux 編程之經典多級時間定時器(上)

    多級時間的原理也容易理解:就拿時鐘做說明,秒針轉動一圈分針轉動一格;分針轉動一圈時針轉動一格;同理時間也是如此:當低級輪轉動一圈時,高一
    的頭像 發表于 04-21 14:45 ?697次閱讀
    <b class='flag-5'>Linux</b> <b class='flag-5'>編程之</b><b class='flag-5'>經典</b><b class='flag-5'>多級</b><b class='flag-5'>時間</b><b class='flag-5'>輪</b><b class='flag-5'>定時器</b>(上)

    三菱PLC編程實現讀出時間定時器

    的功能,而定時器是實現時間控制的關鍵組件。本文將詳細介紹如何使用三菱PLC編程實現讀出時間定時器。 1.
    的頭像 發表于 06-20 11:11 ?2722次閱讀
    百家乐官网斗地主炸金花| 太阳城百家乐红利| 太阳城论坛| CEO百家乐官网现金网| 百家乐能赢到钱吗| 手机棋牌游戏平台| 百家乐官网博彩平| 富二代百家乐的玩法技巧和规则 | 百家乐官网里面的奥妙| 百家乐代理占成| 大发888直播网| 电子百家乐官网打法| 百家乐策略介绍| 鲨鱼百家乐官网游戏平台| 百家乐赌博机销售| 永利百家乐现金网| 百家乐视频游戏金币| 波音百家乐自动投注| CEO百家乐现金网| 百家乐破解策略| 威尼斯人娱乐场开户注册| 赌百家乐官网心里技巧| 百家乐现金网信誉排名| 南城县| 网上百家乐分析软件| 社旗县| 百家乐的路单怎样看| 泰顺县| 澳门百家乐海星王娱乐城| 鞍山市| 百家乐庄闲必胜规| 百家乐官网游戏的玩法| 百家乐庄闲必胜规| 百家乐官网鞋业| 大发888下载 17| 百家乐官网游戏筹码| 最新百家乐网评测排名| 百家乐官网桌子北京| 路劲太阳城金旭园| 同花顺百家乐官网的玩法技巧和规则 | 至尊百家乐官网赌场娱乐网规则|