延迟函数是如何工作的

How does delay function work?

本文关键字:工作 何工作 函数 延迟      更新时间:2023-10-16

C/c++中dos.h下的延时函数。

我试图通过给编译器许多计算和校准来制作延迟函数它可以延迟1秒,但当我在另一台PC上执行相同的操作时,它显示给我不同的结果。

当编译器遇到程序中的delay() ;语句时;它是做什么的,延迟函数是如何如此精确地工作的。在后台发生了什么。

[答案不需要很专业]

文档告诉你所有你需要知道的。

sleepnanosleepusleep类似,该函数指示操作系统将CPU时间分配给其他进程。

计算机通常有定时器硬件,操作系统通常为进程提供在指定时间内释放CPU的方法。delay()的高质量实现通常会使用这些服务。

校准的忙循环——正如你的问题所描述的——是浪费的,因此很少这样做(可能除了在嵌入式平台上)。