1. 程式人生 > >C語言中的Sleep函式

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()不同,它會被掛起,把處理器讓給其他的程序。