【轉】linux的sleep()和usleep()的使用和區別
阿新 • • 發佈:2018-12-17
原文連結:https://blog.csdn.net/fireroll/article/details/8651593
函式名:sleep
標頭檔案:#include<windows.h> //在VC中使用帶上標頭檔案
#include<unistd.h> //在gcc編譯器中,使用的標頭檔案因gcc版本的不同而不同
功能:執行掛起指定的描述
語法:unsigned sleep(unsigned seconds);
#include<windows.h>
#include<stdio.h>
int main()
{
int a;
a=1;
printf("hello");
sleep(a);
printf("world");
return 0;
}
函式名:usleep
標頭檔案:#include<unistd.h>
功能:usleep功能把程序掛起一段時間,單位是微秒(百萬分之一秒);
語法:void usleep(int micro_seconds);
內容說明:本函式可暫時使程式停止執行。引數micro_seconds為要暫停的微秒數*(us);
注意:
這個函式不能工作在windows作業系統中。用在Linux的測試環境下面。
參見:usleep()與sleep()類似,用於延遲掛起程序。程序被掛起放到reday queue.
在一般情況下,延遲時間數量級是秒的時候,儘可能使用usleep()函式。這樣才能最佳的利用CPU時間。
時鐘換算:
1s = 1000ms
1ms = 1000μs
1μs = 1000ns
1ns = 1000ps