大多数Linux系统中的Jiffies默认为250 (4ms)。问题是,当一个程序有一个小于4ms的us休眠()时,会发生什么?当然,当它被安排的时候,它的工作也是一样的。但是,当linux调度程序取出这个程序等待,因为另一个程序必须运行时会发生什么呢?在这种情况下,先发制人是如何工作的?
我是否应该避免使用如此小的等待量来定制程序?他们不可能是准确的,对吗?
发布于 2012-11-09 11:36:17
除非您运行的是实时内核,否则我不会使用睡眠时间<10 use。即使调度程序愿意抢占您超时的另一个进程,抖动可能会主导您的实际睡眠时间。
摘要:除非您有一个实时内核,否则避免这样小的间隔。如果您不能更改内核,您最好的选择可能是将您的进程用SCHED_FIFO和繁忙的专用CPU来处理--等待(或做其他有用的工作)少于两个jiffies。
不知怎么的总结比原来的要长..。哦,好吧。
https://unix.stackexchange.com/questions/55266
复制相似问题