在写智能机器人聊天系统时,设计计算程序的时间间隔,当时采用的方法是取时间间隔前后的当前时间后,计算时间间隔,发现有时计算出的时间间隔为零,也就是说采用这种方式计算时间间隔不准确,今天在博客园上看见一段代码,采用Stopwatch 类计算时间间隔,才恍然大悟,原来微软已经给提供了现成的方法来解决这些问题,只是自己不知道。看来还是自己的学习有问题啊,是不是在解决一个问题前先应该看看是不是已经有人解决过这样的问题,而且提供经验可供我们参考,废话,还是看看怎么用吧。

 

1.继承层次结构

System.Object
 -- System.Diagnostics.Stopwatch

 

2.使用描述

 

         Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。在典型的Stopwatch 方案中,先调用 Start 方法,然后调用 Stop 方法,最后使用 Elapsed 属性检查运行时间。

         Stopwatch 实例或者在运行,或者已停止;使用 IsRunning 可以确定 Stopwatch 的当前状态。使用 Start 可以开始测量运行时间;使用 Stop 可以停止测量运行时间。通过属性 Elapsed、ElapsedMilliseconds 或 ElapsedTicks 查询运行时间值。当实例正在运行或已停止时,可以查询运行时间属性。运行时间属性在 Stopwatch 运行期间稳固递增;在该实例停止时保持不变。

        默认情况下,Stopwatch 实例的运行时间值相当于所有测量的时间间隔的总和。每次调用 Start 时开始累计运行时间计数;每次调用 Stop 时结束当前时间间隔测量,并冻结累计运行时间值。使用 Reset 方法可以清除现有 Stopwatch 实例中的累计运行时间。

        Stopwatch 在基础计时器机制中对计时器的刻度进行计数,从而测量运行时间。如果安装的硬件和操作系统支持高分辨率性能的计数器,则 Stopwatch 类将使用该计数器来测量运行时间;否则,Stopwatch 类将使用系统计数器来测量运行时间。使用 Frequency 和 IsHighResolution 字段可以确定实现 Stopwatch 计时的精度和分辨率。

posted on 2008-08-25 09:03  itzsl  阅读(1078)  评论(0编辑  收藏  举报