好的,所以我想知道什麼是CMD中所有不同類型的延遲。 這裏有一些我可以說出:最短可能的延遲時間
SLEEP 1
ping 192.0.2.2 -n 1 -w 1 > nul
choice /d y /t 1 > nul
mkdir Folder
cd Folder
tree
什麼是最短的延遲時間? 謝謝。
好的,所以我想知道什麼是CMD中所有不同類型的延遲。 這裏有一些我可以說出:最短可能的延遲時間
SLEEP 1
ping 192.0.2.2 -n 1 -w 1 > nul
choice /d y /t 1 > nul
mkdir Folder
cd Folder
tree
什麼是最短的延遲時間? 謝謝。
如果你想要一個非常可預測的短暫延遲,你可以編寫一個小的命令行工具,調用nanosleep。
#include <stdio.h>
#include <time.h>
#include <stdint.h>
#include <sys/time.h>
int main(int argc, char *argv[]) {
struct timespec ts;
// We want to sleep for 40ms
ts.tv_sec = 0;
ts.tv_nsec = 40L * 1000000L; // 1ms = 1 million nanoseconds
nanosleep(&ts, NULL);
return 0;
}
當然,通過從命令行獲得延遲可以使得實用程序更加靈活。
編輯:正如評論者所指出的,nanosleep在標準MS編譯器中不可用。在那裏,可以使用sleep作爲替代。
我想最短的確切的時間是10ms,純批次。 檢查%time%
變量(分辨率爲10ms)。
wmic
或其他外部程序有缺點,加載&啓動它們的時間通常比您想要等待的時間長。
+1:但是不可預測的部分是加載/啓動行爲 – jeb
是的,但是更有預見性的問題。但是,我假設問題是關於MS,而nanosleep是POSIX!無論如何,這是一個批量問題,而不是編程! –
@jeb我同意,但實際上我沒有辦法擺脫這種不確定性的部分,你可以試着儘可能縮小效用,儘可能縮短加載時間,但這就是它。 – fvu