當前位置:編程學習大全網 - 網站源碼 - linux系統 下 如何讓C語言sleep()函數等待時間小於1秒

linux系統 下 如何讓C語言sleep()函數等待時間小於1秒

sleep()函數大概只能精確到50ms左右,妳用sleep(10)是肯定不行的,如果妳要精確的定時的話可以使用QueryPerformanceFrequency()函數,用法為:

LARGE_INTEGER litmp;

LONGLONG QPart1,QPart2;

double dfMinus, dfFreq, dfTim;

QueryPerformanceFrequency(&litmp);

dfFreq = (double)litmp.QuadPart;// 獲得計數器的時鐘頻率

QueryPerformanceCounter(&litmp);

QPart1 = litmp.QuadPart;// 獲得初始值

do

{

QueryPerformanceCounter(&litmp);

QPart2 = litmp.QuadPart;//獲得中止值

dfMinus = (double)(QPart2-QPart1);

dfTim = dfMinus / dfFreq;// 獲得對應的時間值,單位為秒

}while(dfTim<0.001);

其定時誤差不超過1微秒,精度與CPU等機器配置有關。

×××××××××××××××××××××××××

sleep()函數的中等待時間是以毫秒計算的,所以等待1秒就是sleep(1000),如果要讓等待時間小於壹秒,那麽就讓傳入的參數小於1000就行了.

比如,等待0.1秒:

sleep(100);

  • 上一篇:滴滴添加出租車顯示參數錯誤
  • 下一篇:python壹次邏輯運算耗時
  • copyright 2024編程學習大全網