WEB开发网      濠电娀娼ч崐濠氬疾椤愶附鍋熸い鏍ㄧ〒闂勫嫰鏌﹀Ο渚Ц闁诲氦顕ч湁婵犲﹤楠告禍鍓х磼鏉堛劌绗氶柟宄版嚇閹晠宕归銈嗘濠电偞鍨堕幐鎾磻閹捐秮褰掓偐閻戞﹩妫勯梺鎼炲妼鐎涒晝绮嬪澶樻晝闁挎繂鏌婇敃鍌涚厵閻庢稒锚閻忥絾绻濇繝鍐ㄧ伌闁诡垰鍟村畷鐔碱敂閸♀晙绱樺┑鐐差嚟婵儳螞閸曨剚鍙忛柍鍝勬噹缁€澶嬬箾閹存繄锛嶆鐐灲閹綊宕惰濡插鏌涢妸銉ヮ劉缂佸倸绉归弫鎾绘晸閿燂拷 ---闂備焦瀵уú鈺呭箯閿燂拷
开发学院操作系统Linux/Unix 实用技巧:Linux下时间延迟以及延缓操作 阅读

实用技巧:Linux下时间延迟以及延缓操作

 2008-06-04 12:11:33 来源:WEB开发网 闂備線娼уΛ鎾箯閿燂拷闂備礁鎲¢崹鐢垫崲閹扮増鍎嶆い鎺戝€甸崑鎾斥槈濞嗗秳娌紓鍌氱▌閹凤拷濠电姭鎷冮崨顓濈捕闂侀潧娲ゅú銊╁焵椤掍胶鈯曢柕鍥╁仧缁辩偤鏁撻敓锟�闂備線娼уΛ鎾箯閿燂拷  闂備胶枪缁绘鈻嶉弴銏犳瀬闁绘劕鎼痪褔鏌曟繝蹇曠窗闁煎壊浜滈—鍐偓锝庡墮娴犙勭箾閸喎鐏ユい鏇樺劦椤㈡瑩鎮℃惔銇帮拷
核心提示: 1、在内核中计时的头函数是#include 2、Hz符号指出每秒钟产生的时钟滴答数,也就是1秒钟产生的时间中断,实用技巧:Linux下时间延迟以及延缓操作, 3、#include volatile unsigned long jiffies 用这个变量来度量时间的变化, 4、int time_after(unsign
 

1、在内核中计时的头函数是#include

2、Hz符号指出每秒钟产生的时钟滴答数,也就是1秒钟产生的时间中断。

3、#include

volatile unsigned long jiffies 用这个变量来度量时间的变化。

4、int time_after(unsigned long a, unsigned long b)

int time_before(unsigned long a, unsigned long b)

这些布尔表达式以安全的方式比较jiffies的数值,无需考虑计时器溢出的问题。

5、jiffies表示的时间和其他表示方法之间的数值转换:

unsigned long timespec_to_jiffies(struct timespec *value);
void jiffies_to_timespec(unsigned long jiffies, struct timespec *value);
unsigned long timeval_to_jiffies(struct timeval *value);
void jiffies_to_timeval(unsigned long jiffies, struct timeval *value);

(每次总是记不住,这次写到blog上以备后患)其中timespec和timeval是linux系统中时钟时间的结构:

struct timeval { 
time_t tv_sec; /* seconds */ 
suseconds_t tv_usec; /* microseconds */ 
};

struct timespec 
{ 
long int tv_sec; 
long int tv_nsec; 
};

使用这个结构的头文件在#include 中,一般常用到的函数是:

int gettimeofday(struct timeval *tv, struct timezone *tz);

Tags:实用技巧 Linux 时间

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接