当前位置: 技术问答>linux和unix
请问linux内核中怎么让进程延时一段时间执行
来源: 互联网 发布时间:2016-03-13
本文导语: 请问linux内核中怎么让进程延时一段时间执行 像SLEEP那样,把CPU让给别的进程,而不是一直占用CPU 最好是微秒级别的 谢谢 | 内核代码有时候会需要将某些任务推迟执行,针对这种需求,内核也提...
请问linux内核中怎么让进程延时一段时间执行
像SLEEP那样,把CPU让给别的进程,而不是一直占用CPU
最好是微秒级别的
谢谢
像SLEEP那样,把CPU让给别的进程,而不是一直占用CPU
最好是微秒级别的
谢谢
|
内核代码有时候会需要将某些任务推迟执行,针对这种需求,内核也提供了许多的延迟方法来满足它。这些方法有忙等待、短延迟以及schedule_timeout()。其中忙等待的方法最容易想到,但同时也是性能最差的一个,它是通过不断消耗cpu来换取时间的流逝,对于系统的其他部分来说,这可以说是个糟糕的事情,因为处理器被独占并且做着无意义的事情,它的常见用法如下:
while(time_before(jiffies,delay))
;
while(time_before(jiffies,delay))
;
|
应该可以阻塞内核程序
wait_event
这样就可以把CPU让出来了
wait_event
这样就可以把CPU让出来了