linux延時
又是一個緩沖的問題,看一下我剛剛回答的這個問題,也是由於緩沖導致的。
http://..com/question/322596558.html
和 usleep 無關,你的問題只要改成即可:
while(i<100)
{
printf("ok");
fflush(stdout);
usleep(10000);
i++;
}
B. 在linux驅動中實現納秒的延時用哪個函數
樓主你好,我現在也出現了一個同樣的問題,我用9260通過SPI來控制一個晶元,那晶元工作頻率1M-5M,現在也是在調試驅動程序不成功,用分析儀檢測用ndelay延時誤差非常大,樓主請問下你的問題解決了嗎?
C. linux在兩個線程之間加延時起到什麼作用
主要是考慮到時間片的問題吧,不延時的話,某個線程可能會一直佔用時間片
D. 在linux下,想用sleep函數實現延時五秒,應該怎麼設參數
使用許可權 : 所有使用者
使用方式 : sleep [--help] [--version] number[smhd]
說明 : sleep 可以用來將目前動作延遲一段時間
參數說明 :
--help : 顯示輔助訊息
--version : 顯示版本編號
number : 時間長度,後面可接 s、m、h 或 d
其中 s 為秒,m 為 分鍾,h 為小時,d 為日數
例子 :
顯示目前時間後延遲 1 分鍾,之後再次顯示時間 :
date;sleep 1m;date
這個命令更多應用於shell腳本編程里和程序里
如下面的一段程序:
應用程序:
復制代碼
代碼如下:
#include <syswait.h>
usleep(n) //n微秒
Sleep(n)//n毫秒
sleep(n)//n秒
驅動程序:
#include <linux/delay.h>
mdelay(n) //milliseconds 其實現
#ifdef notdef
#define mdelay(n) (\
{unsigned long msec=(n); while (msec--) udelay(1000);})
#else
#define mdelay(n) (\
(__builtin_constant_p(n) && (n)<=MAX_UDELAY_MS) ? udelay((n)*1000) : \
({unsigned long msec=(n); while (msec--) udelay(1000);}))
#endif
調用asm/delay.h的udelay,udelay應該是納秒級的延時
Dos:
sleep(1); //停留1秒
delay(100); //停留100毫秒
Windows:
Sleep(100); //停留100毫秒
Linux:
sleep(1); //停留1秒
usleep(1000); //停留1毫秒
每一個平台不太一樣,最好自己定義一套跨平台的宏進行控制
秒還是微秒?關於延時函數sleep()
因為要寫一段代碼,需要用到sleep()函數,在我印象中,sleep(10)好像是休眠10微秒,結果卻是休眠了10秒(在Linux下)。覺得很奇怪,因為頭兒也記得好像是微秒為單位的。所以就查了一下。
原來linux下的sleep函數原型為:
unsigned int sleep(unsigned int seconds);
而MFC中的Sleep函數原型為:
void Sleep(DWORD dwMilliseconds);
也就是說,Linux下(使用的gcc的庫),sleep()函數是以秒為單位的,sleep(1);就是休眠1秒。而MFC下的sleep()函數是以微秒為單位的,sleep(1000);才是休眠1秒。原來如此啊。而如果在Linux下也用微妙為單位休眠,可以使用線程休眠函數:void usleep(unsigned long usec);當然,使用的時候別忘記#include <system.h>哦。
另外值得一提的是,linux下還有個delay()函數,原型為extern void delay(unsigned int msec);它可以延時msec*4毫秒,也就是如果想延時一秒鍾的話,可以這么用 delay(250);
E. linux下怎樣在for循環中設置延遲,也就是每次循環都要暫停一段時間
調用函數sleep(), 精確到秒
或者usleep(),精確到微秒
或者nanosleep(),精確到納秒
F. linux t async 延時多久
能昰
Linux套免費使用自由傳播類Unix操作系統基於POSIXUNIX用戶、任務、支持線程CPU操作系統能運行主要UNIX工具軟體、應用程序網路協議支持32位64位硬體Linux繼承Unix網路核設計思想性能穩定用戶網路操作系統
Linux操作系統誕於1991 10 月5 (第式向外公布間)Linux存著許同Linux版本都使用Linux內核Linux安裝各種計算機硬體設備比手機、平板電腦、路由器、視頻游戲控制台、台式計算機、型機超級計算機
嚴格講Linux詞本身表示Linux內核實際已經習慣用Linux形容整基於Linux內核並且使用GNU 工程各種工具資料庫操作系統
鑒於題主問linux昰麼進程應該昰windows系統吧同按鍵盤ctrl+Alt+del鍵打資源管理器後選擇想要查看程序右鍵選擇打文件位置昰沒程序簽名未知程序半昰病毒木馬
G. linux計劃任務如何實現延時執行腳本,求簡潔實例
兩個方法:
1)crontab中的時間設定最小可以到分鍾,如果你的延時是分鍾級別的,直接放大crontab中的分鍾設定即可。
2)修改腳本,在腳本開頭(當然要在shell聲明語句如#!/bin/bash之後)加usleep(微秒級)或sleep命令(秒級),也可以實現延時。
H. linux定時器和延時工作隊列的區別
工作隊列中是即將要調度到的任務隊列,等待隊列是暫時被掛起的任務隊列,或者有些任務無事可做休眠狀態的任務,它們會在某些條件觸發時恢復換入工作隊列並進入執行狀態,同樣在工作隊列中的任務在某個時刻也可以被換入到等待隊列中
I. 在linux驅動中實現納秒的延時用哪個函數
如果不關中斷,在進程上下文上可能會被中斷,從而進入中斷處理程序,再被內核切換出來時,會重新調度進程。如果進程被調度出去則,時延很可能超過XXX納秒。
J. Linux中ping的延遲是什麼
ping包在網路中的來回時間