0%

内核延时函数msleep和mdelay区别

msleepmdelay都是内核的延时函数,原型如下:

1
2
void mdelay(unsigned long msecs);
void msleep(unsigned int millisecs);

区别

mdelay是忙等待函数,会占用CPU资源,延迟时间是准确的。

msleep是休眠函数,不占用CPU资源,延迟时间通常高于给定值。

具体可以参考如下文章:

The difference between Mdelay and Msleep in Linux

Linux中内核延时函数