在C/C++中编写计时器的最简单方法是什么?
嗨,
编写计时器最简单的方法是什么,比如在C/C++中?以前我使用了for循环和do-while循环.我使用for循环作为计数器,使用do-while循环作为"结束时间"的比较.该程序按照我的意愿工作,但消耗了太多的系统资源.
我正在寻找编写计时器的最简单方法.
谢谢!
编辑:
该程序适用于Linux和Windows的一组服务器,因此它是一个多平台环境.我不想使用睡眠或睡眠功能,因为我正试图从头开始编写所有内容.
程序的性质:程序计算系统上的电源时间和电池时间.
EDIT2:
好吧,这似乎引起了一些混乱,所以我将尝试解释到目前为止我做了什么.我已经创建了一个在后台运行的程序,如果它在一段时间内处于空闲状态,它会关闭系统电源,它还会检查特定系统上的电池寿命,如果系统一直在运行,则会进入待机模式电池一段时间.我手动输入时间,所以我需要一个计时器.我想从头开始编写它,因为它是我一直在努力的个人项目的一部分.
最好的办法是使用一个操作系统原语,在一段给定的时间内暂停程序(如Windows中的Sleep()).程序运行的环境很可能会有一些机制来执行此操作或类似操作.这是避免轮询和消耗CPU时间的唯一方法.
如果您只是希望程序等待一段时间,可以使用:
如果你希望处理或显示直到经过的时间,你使用while()循环的方法很好,但你应该添加一个小睡眠(例如,20ms,但最终取决于你需要的精度) while循环,不要占用CPU.