C语言中的sleep()
- sleep()在windows和linux下是两个不同的函数,差别较大,
- 但功能相同,都是将进程挂起一段时间。
- windows下函数名为Sleep(),
- 其函数原型为:
- #include <windows.h>
- void Sleep(DWORD dwMilliseconds); 参数为毫秒
\newline
\newline
#include <windows.h> //win头文件
#include<stdio.h>
int main()
{
int i;
printf("你");
fflush(stdout); //强制刷新缓存,输出显示
for( i=0;i<10;i++ )
{
Sleep(1000); /* windows 使用Sleep,参数为毫秒 */
printf(".");
fflush(stdout);//强制刷新缓存,输出显示
}
printf("好\n"); /*输出“你”和“好”之间会间隔10秒,并输出10个点*/
return 0;
}
里纳克斯
- linux下函数名sleep()
- #include <unistd.h>
- unsigned int sleep(unsigned int seconds);参数为秒 (更精确用usleep,微秒)
\newline
\newline
#include <unistd.h> //1、linux 头文件
#include<stdio.h>
int main()
{
int i;
printf("你");
fflush(stdout);//强制刷新缓存,输出显示
for( i=0;i<10;i++ )
{
sleep(1); /*2、linux 使用sleep,参数为秒*/
printf(".");
fflush(stdout);//强制刷新缓存,输出显示
}
printf("好\n"); /*输出“你”和“好”之间会间隔10秒,并输出10个点*/
return 0;
}
2th plagiarism
- 功 能: 执行挂起一段时间
- VC中带上<windows.h>
- Linux下,gcc编译器中,头文件因gcc版本的不同而不同
- #include <unistd.h>
- 在VC中,大写"S" ,
- linux下不要大写,在标准C中是sleep
- 简单的说VC用Sleep, 别的一律用sleep。
- VC中,Sleep()毫秒单位
- Linux下,sleep()里面的单位是秒
- 不确定啊
\newline
\newline
- usleep
- 把进程挂起一段时间, 单位us(百万分之一秒)
- void usleep(int micro_seconds);
- 且此函数已被废除,可用nanosleep。
- 这个函数不能工作在 Windows中。
- 与sleep()类似,用于延迟挂起进程。
- 进程被挂起放到reday queue。
- 延迟时间数量级是秒的时候,尽可能用sleep()
- 如果延迟时间为几十毫秒,或更小,用usleep()。
- 这样才能最佳的利用CPU时间。
\newline
\newline
- delay函数:
- 将程序的执行暂停一段时间,单位ms
- void delay(unsigned milliseconds);
- delay()是循环等待,该进程还在运行,占处理器
- sleep()不同,它会被挂起,把处理器让给其他的进程