2013-04-07 23 views
1

是否有人知道开始计算时间的函数或库? 因为我正在研究需要计算事件发生时间的项目。如何在C++中开始计时?

伪代码

start time 
if (seconds % 2 == 0) 
{ 
    counter++ 

} 

我选择2秒,因为它是一个不错的数字

+1

定时器通常通过调用操作系统来实现,因为您正在运行的机器实际上是保持任何类型的“时间”。我们需要知道你在使用什么机器(尽管我在Windows机器上假设C++?)。看看MSDN。 – Hydronium 2013-04-07 03:00:23

+0

是的我正在使用Windows电脑。 – hv16 2013-04-07 03:02:37

+1

访问Microsoft提供的MSDN。他们拥有许多API函数的信息,计时器就在其中。 – Hydronium 2013-04-07 03:05:28

回答

1

典型的周期性事件发生时进行使用,它使用的操作系统调用中使用的操作系统计时器服务一个单独的线程为了提供合理准确的计时器事件。单独的线程将安排计时器事件并等待计时器到期,线程在该时间点唤醒并开始执行。一旦工作完成,计划一个新的计时器事件。

但是,如果不需要大量的准确性,您可以采取一种线程的方法来执行等待给定的毫秒数,然后发出一个事件,然后循环回来执行定时等待或再次睡眠。

其中最重要的部分通常是您必须拥有等待成为另一个线程的东西,以便主线程不被阻塞。当你的主线程和其他线程正在处理它们自己的事件,比如用户界面事件时,这个想法是有一个工作线程作为事件的发生器。

参见C++ use thread as timer

也是这样的codeproject Threads and Timers