延时函数sleep和delay的区别

来源:互联网 发布:淘宝怎么定时上架软件 编辑:程序博客网 时间:2024/05/22 07:49

在VC中使用带上头文件

#include <windows.h>

注意:
在VC中Sleep中的第一个英文字符为大写的”S”
在标准C中是sleep, 不要大写.. 下面使用大写的来说明,, 具体用什么看你用什么编译器. 简单的说VC用Sleep, 别的一律使用sleep.
Sleep函数的一般形式:
Sleep(unisgned long);
其中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000);
例:

#include <windows.h>int main(){    int a;    a=1000;    Sleep(a);  /* VC 使用Sleep */    return 0;}

usleep功能:
暂停执行。 语法: void usleep(int micro_seconds); 返回值: 无 函数种类: PHP 系统功能 内容说明:本函数可暂时使程序停止执行。参数 micro_seconds 为要暂停的毫秒数(微妙还是毫秒?)。 注意:这个函数不能工作在 Windows 操作系统中。参见:usleep() 与sleep()类似,用于延迟挂起进程。进程被挂起放到reday queue。
只是一般情况下,延迟时间数量级是秒的时候,尽可能使用sleep()函数。
且,此函数已被废除,可使用nanosleep。
如果延迟时间为几十毫秒,或者更小,尽可能使用usleep()函数。这样才能最佳的利用CPU时间

delay:
函数名: delay
功 能: 将程序的执行暂停一段时间(毫秒)
用 法: void delay(unsigned milliseconds);
程序例:

 /* Emits a 440-Hz tone for 500 milliseconds */  #include<dos.h>  int main(void)  {      sound(440);      delay(500);      nosound();      return 0;  }

delay()是循环等待,该进程还在运行,占用处理器。

sleep()不同,它会被挂起,把处理器让给其他的进程。

sleep()参数指定暂停时间,单位是ms
delay()参数指定暂停时间,单位也是ms

原文出处:http://blog.csdn.net/jidongdong66/article/details/6334028

0 0
原创粉丝点击