2.3 時(shí)間輪代碼: timewheel.c
/*
*毫秒定時(shí)器 采用多級(jí)時(shí)間輪方式 借鑒linux內(nèi)核中的實(shí)現(xiàn)
*支持的范圍為1 ~ 2^32 毫秒(大約有49天)
*若設(shè)置的定時(shí)器超過(guò)最大值 則按最大值設(shè)置定時(shí)器
**/
#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 編譯運(yùn)行
peng@ubuntu:/mnt/hgfs/timer/4. timerwheel/2. 多級(jí)時(shí)間輪$ ls
a.out list.h log.h mutiTimeWheel.c
toney@ubantu:/mnt/hgfs/timer錄/4. timerwheel/2. 多級(jí)時(shí)間輪$ gcc mutiTimeWheel.c -lpthread
toney@ubantu:/mnt/hgfs/timer/4. timerwheel/2. 多級(jí)時(shí)間輪$ ./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
從結(jié)果可以看出:如果添加的定時(shí)任務(wù)是比較耗時(shí)的操作,那么后續(xù)的任務(wù)也會(huì)被阻塞,可能一直到超時(shí),甚至一直阻塞下去,這個(gè)取決于當(dāng)前任務(wù)是否耗時(shí)。
這個(gè)理論上是絕不能接受的:一個(gè)任務(wù)不應(yīng)該也不能去影響其他的任務(wù)吧。但是目前沒(méi)有對(duì)此問(wèn)題進(jìn)行改進(jìn)和完善,以后有機(jī)會(huì)再繼續(xù)完善吧。
-
Linux
+關(guān)注
關(guān)注
87文章
11123瀏覽量
207910 -
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7575瀏覽量
134067 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3218瀏覽量
113677
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論