如何创建计时器?(每隔X秒/分钟/小时做一些事情)

Sta*_*tan 0 c++

我需要每隔10秒在我的程序中执行一些操作,而我不知道如何在C++控制台应用程序中执行此操作.在C#我可以创建一个计时器,但我现在在这里挣扎......

睡觉(); 不是一个选项,因为据我所知,它使您的程序在X秒内处于非活动状态,我需要我的应用程序处于活动状态并正常工作,并且一直在计算.

请帮我解决这个小问题(或大问题),我是C++的新手并学习ATM :)

所以我设置了BOOST库,现在我正在做这样的事情.

boost::timer t;

while (true)
{
    if (t.elapsed() > 1)
    {
        cout << t.elapsed() << endl;
        t.restart();
    }
}
Run Code Online (Sandbox Code Playgroud)

它够好还是应该有更好的方法?哦不,这非常糟糕,不停地吃掉25%的CPU.:(

oco*_*odo 6

Boost有一个计时器库.

事实上,如果你还没有遇到Boost,我相信你会发现它非常有用.


要做一个基于事件的计时器,你应该看看这个答案.