1. 程式人生 > >【轉】linux的sleep()和usleep()的使用和區別

【轉】linux的sleep()和usleep()的使用和區別

原文連結: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