Linux下sleep函數與usleep函數加Windows下的Sleep函數


函數名: 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平台下的延時函數,延時毫秒。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM