2013-07-18 35 views
2

好的,所以我想知道什麼是CMD中所有不同類型的延遲。 這裏有一些我可以說出:最短可能的延遲時間

SLEEP 1 

ping 192.0.2.2 -n 1 -w 1 > nul 

choice /d y /t 1 > nul 

mkdir Folder 
cd Folder 
tree 

什麼是最短的延遲時間? 謝謝。

回答

0

如果你想要一個非常可預測的短暫延遲,你可以編寫一個小的命令行工具,調用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作爲替代。

+0

+1:但是不可預測的部分是加載/啓動行爲 – jeb

+0

是的,但是更有預見性的問題。但是,我假設問題是關於MS,而nanosleep是POSIX!無論如何,這是一個批量問題,而不是編程! –

+0

@jeb我同意,但實際上我沒有辦法擺脫這種不確定性的部分,你可以試着儘可能縮小效用,儘可能縮短加載時間,但這就是它。 – fvu

1

我想最短的確切的時間是10ms,純批次。 檢查%time%變量(分辨率爲10ms)。

wmic或其他外部程序有缺點,加載&啓動它們的時間通常比您想要等待的時間長。