C ++简单的定时器/滴答功能

时间:2014-07-26 22:33:02

标签: c++ timer count

正如标题所说,我想创建一个简单的计时器/刻度函数,例如5分钟,以便我可以调用另一个函数,然后计时器再次启动,但不使用睡眠或时钟功能。那么有没有任何功能或方法,以便它例如在几秒钟内上升或下降?谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

虽然你说你想避免"时钟功能"但我不知道如何在没有时钟的情况下计算5分钟。这是一个非常基本的,但便携式,计时器。

结果:每5分钟调用foo()方法。


#include <thread>
#include <iostream>

void foo()
{
    std::cout << "Hello !\n";   
}

int main()
{
    std::thread([&]
    {
        while(true)
        {
            // Wait 5 minutes
            std::this_thread::sleep_for(std::chrono::minutes(5));
            // Call our method
            foo();
        }
    }).detach();

    // Execution continues ...
    std::cin.get();
}

注意:

  • 我将一个lambda传递给了线程但是任何可调用的都可以。
  • std::chrono充满了很酷的东西来操纵日期和时间,你可以用它轻松调整你的计时器。