(ubuntu)linux C編程之sleep()和usleep()的使用和區別


函數名: 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);        /* VC 使用Sleep*/
  printf("world"); 
  return 0;
}

函數名: usleep


頭文件:

#include <unistd.h>

功 能: usleep功能把進程掛起一段時間, 單位是微秒(百萬分之一秒);

語 法:

void usleep(int micro_seconds);

返回值: 無

內容說明:本函數可暫時使程序停止執行。參數 micro_seconds 為要暫停的微秒數(us)。

注 意:

這個函數不能工作在windows 操作系統中。用在Linux的測試環境下面。

參 見:usleep() 與sleep()類似,用於延遲掛起進程。進程被掛起放到reday queue。
是一般情況下,延遲時間數量級是秒的時候,盡可能使用sleep()函數。
如果延遲時間為幾十毫秒(1ms = 1000us),或者更小,盡可能使用usleep()函數。這樣才能最佳的利用CPU時間

時鍾換算:
微秒,時間單位,符號us(英語:microsecond ).

1微秒等於百萬分之一秒(10的負6 次方秒)

0.000 001 微秒 = 1皮秒

0.001 微秒 = 1納秒

1,000 微秒 = 1毫秒

1,000,000 微秒 = 1秒

1s = 1000ms

1ms = 1000μs

1μs = 1000ns

1ns = 1000ps

1秒(s) = 1000 毫秒(ms) = 1,000,000 微秒(μs) = 1,000,000,000 納秒(ns) = 1,000,000,000,000 皮秒(ps)


免責聲明!

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



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