C語言中的Sleep函式
Sleep函式:
功 能: 執行掛起一段時間
用 法: unsigned sleep(unsigned seconds);
注意:
在VC中使用帶上標頭檔案#include <windows.h>,在Linux下,gcc編譯器中,使用的標頭檔案因gcc版本的不同而不同#include <unistd.h>
在VC中,Sleep中的第一個英文字元為大寫的"S" ,在linux下不要大寫,在標準C中是sleep, 不要大寫,簡單的說VC用Sleep, 別的一律使用sleep
在VC中,Sleep()裡面的單位,是以毫秒為單位,所以如果想讓函式滯留1秒的話,應該是Sleep(1000); 在Linux下,sleep()裡面的單位是秒,而不是毫秒。
示例:
#include <windows.h>
int main()
{
int a;
a=1000;
Sleep(a);
return 0;
}
usleep函式:
功能: usleep功能把程序掛起一段時間, 單位是微秒us(百萬分之一秒)。
語法: void usleep(int micro_seconds);
返回值: 無
注意:這個函式不能工作在 Windows 作業系統中。
usleep() 與sleep()類似,用於延遲掛起程序。程序被掛起放到reday queue。只是一般情況下,延遲時間數量級是秒的時候,儘可能使用sleep()函式。且此函式已被廢除,可使用nanosleep。
如果延遲時間為幾十毫秒,或者更小,儘可能使用usleep()函式。這樣才能最佳的利用CPU時間。
delay函式:
功 能: 將程式的執行暫停一段時間,單位是毫秒ms(千分之一秒)
用 法: void delay(unsigned milliseconds);
示例:
#include<dos.h>
int main(void)
{
sound(440);
delay(500);
nosound();
return 0;
}
delay()是迴圈等待,該程序還在執行,佔用處理器。
sleep()不同,它會被掛起,把處理器讓給其他的程序。