linux进程延迟

#include <linux/wait.h>

long wait_event_interruptible_timeout(wait_queue_head_t *q, condition, signed long timeout);

使当前进程在等待队列进入睡眠, 安装一个以 jiffies 表达的超时值. 使用 schedule_timeout( 下面) 给不可中断睡眠.

#include <linux/sched.h>

signed long schedule_timeout(signed long timeout);

调用调度器, 在确保当前进程在超时到的时候被唤醒后. 调用者首先必须调用 set_curret_state 来使自己进入一个可中断的或者不可中断的睡眠状态.

#include <linux/delay.h>

void ndelay(unsigned long nsecs); void udelay(unsigned long usecs); void mdelay(unsigned long msecs);

引入一个整数纳秒, 微秒和毫秒的延迟. 获得的延迟至少是请求的值, 但是可能更 多. 每个函数的参数必须不超过一个平台特定的限制(常常是几千).

void msleep(unsigned int millisecs);

unsigned long msleep_interruptible(unsigned int millisecs); void ssleep(unsigned int seconds);

使进程进入睡眠给定的毫秒数(或者秒, 如果使 ssleep).

原文地址:https://www.cnblogs.com/fanweisheng/p/11142052.html