功 能: 執行掛起壹段時間
頭文件: #include <unistd.h>
區 別: unsigned sleep (unsigned int seconds);//n秒
int usleep (useconds_t usec);//n微秒
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
#include<unistd.h>
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;
}
Linux下的sleep函數原型為:
unsigned int sleep(unsigned int seconds);
而MFC中的Sleep函數原型為:
void Sleep(DWORD dwMilliseconds);
也就是說,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)。