函數名: sleep
頭文件: #include <unistd.h>
功 能: 執行掛起指定的秒數
語 法: unsigned sleep(unsigned seconds);
舉例:
void father() { int i; for(i = 0 ;i < 3;i++) { printf("father\n"); sleep(1); } }
函數名: usleep
頭文件: #include <unistd.h>
功 能: usleep功能把進程掛起一段時間, 單位是微秒(百萬分之一秒);
語 法: void usleep(int micro_seconds);
返回值: 無
內容說明:本函數可暫時使程序停止執行。參數 micro_seconds 為要暫停的微秒數(us)。
注 意:
這個函數不能工作在windows 操作系統中。用在Linux的測試環境下面。
參 見:usleep() 與sleep()類似,用於延遲掛起進程。進程被掛起放到reday queue。
一般情況下,延遲時間數量級是秒的時候,盡可能使用sleep()函數。如果延遲時間為幾十毫秒(1ms = 1000us),或者更小,盡可能使用usleep()函數。這樣才能最佳的利用CPU時間。
舉例:
void *print(void *s) { char *str = (char *)s; pthread_mutex_lock(&mutex); int i = 0; for(i = 0;i < strlen(str);i++) { printf("%c\n",str[i]); usleep(10); } pthread_mutex_unlock(&mutex); }
函數名:Sleep
頭文件:#include <synchapi.h>
Windows平台下的延時函數,延時毫秒。