Linux的sleep函数和MFC中的Sleep函数

Linux的sleep函数

函数名:sleep,usleep
功能:执行挂起一段时间
头文件:#include
区别:
unsigned int sleep(unsigned int secconds); //n秒 int usleep(useconds_t usec); //n微妙
例如测试程序:

#include 
#include 
int main(){
	int sec = 0,usec = 0;
	while(1){
		printf("sec = %d \n",++sec);
		sleep(1);
		printf("usec = %d \n",++usec);
		usleep(1000000);
	}
	return 0;
}

MFC的Sleep函数

Sleep函数开头是大写的,注意这个区别,其函数原型为:
void Sleep(DWORD dwMilliseconds);
在VC中使用带上头文件:#include
(Sleep函数存放头文件:WinBase.h)

示例测试程序:

#include 
#include
int main(){
	int a;
	a=1000;
	printf("你");
	Sleep(a);/* VC 使用Sleep*/
	printf("好"); /*输出“你”和“好”之间会间隔一千毫秒,即间隔一秒,Sleep()的单位为毫秒*/
	return 0;
}

或者明显一点:

#include  //win头文件
#include
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下(使用的gcc的库),sleep()函数是以秒为单位的,sleep(1);就是休眠1秒。而MFC下的Sleep()函数是以毫秒为单位的,sleep(1000);才是休眠1秒。而如果在Linux下也用微妙为单位休眠,可以使用线程休眠函数:void usleep(unsigned long usec)。

Linux下还有个delay()函数,原型为extern void delay(unsigned int msec);它可以延时msec*4毫秒,也就是如果想延时一秒钟的话,可以这么用 delay(250)

文章参考:百度百科

你可能感兴趣的:(C,lib)