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

最短的延迟时间是多少?谢谢。

4

2 回答 2

1

我想最短的确切时间是 10 毫秒,纯批处理。检查%time%变量(分辨率为10ms)。

wmic或其他外部程序的缺点是加载和启动它们的时间通常比您要等待的时间长。

于 2013-07-18T09:33:19.243 回答
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;
}

当然,通过从命令行获取延迟,该实用程序可以变得更加灵活。

编辑:正如评论者所指出的,标准 MS 编译器中不提供 nanosleep。在那里,睡眠可以作为一种选择。

于 2013-07-18T09:30:32.663 回答