使用场景:
延后一定的时间执行特定的代码
根据延时时间的长短分为“长延时”和“短延时”
长延时:
1.忙等待
while (time_before(jiffies, j1))
cpu_relax();
这里j1是jiffies延时超时的值
2.让出处理器
while (time_before(jiffies, j1)) {
schedule();
}
3.超时
#include <linux/wait.h>
long wait_event_timeout(wait_queue_head_t q, condition, long timeout);
long wait_event_interruptible_timeout(wait_queue_head_t q, condition, long timeout);
短延时:
#include <linux/delay.h>
void ndelay(unsigned long nsecs);
void udelay(unsigned long usecs);
void mdelay(unsigned long msecs);
参考:http://blog.csdn.net/liangxiaozhang/article/details/8269170