如何为C中的条件制作冷却计时器?

时间:2016-10-29 15:34:36

标签: c time.h

我目前正在为一所大学项目工作,而且我遇到了一个我无法解决的问题。我试图在永久循环中为某个特定的动作创建一个冷却时间。我一直在尝试使用时间功能,但它不起作用。

fprof <- makeFirefoxProfile(
  list(
    "browser.cache.disk.enable" = FALSE,
    "browser.cache.memory.enable" = FALSE,
    "browser.cache.offline.enable" = FALSE,
    "network.http.use-cache" = FALSE
  )
)
remDr <- remoteDriver(extraCapabilities = fprof)
remDr$open()

1 个答案:

答案 0 :(得分:0)

请注意,使用time功能时间段分辨率为1秒。因此,使用time在1秒内超时,时间段可以是0.000xxx0001秒到1秒,具体取决于秒计数何时翻转。

我展示了clock的使用,它提供了更好的分辨率,如果周期需要更精确(根据计时器的粒度),还有其他其他时间功能可用。

#include <time.h>

void cooldown(int seconds)
{
    clock_t start = clock();
    clock_t period = seconds * CLOCKS_PER_SEC;
    clock_t elapsed;

    do {
        elapsed = clock() - start;
    } while(elapsed < period);
}

int main()
{
    cooldown(1);
    return 0;
}

显然,您需要在循环中添加事件检测。