命名空间:System.Diagnostics

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

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

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

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

Stopwatch 类为托管代码内与计时有关的性能计数器的操作提供帮助。具体说来,Frequency 字段和 GetTimestamp 方法可以用于替换非托管 Win32 API QueryPerformanceFrequency 和 QueryPerformanceCounter

注意

在多处理器计算机上,线程在哪个处理器上运行无关紧要。但是,由于 BIOS 或硬件抽象层 (HAL) 中的 bug,在不同的处理器上可能会得出不同的计时结果。若要为线程指定处理器关联,请使用 ProcessThread.ProcessorAffinity 方法。

最新文章

  1. SAX与DOM
  2. [NOIP2015] 提高组 洛谷P2615 神奇的幻方
  3. c#解决窗体假死的一种方法
  4. isset和empty比较
  5. Ajax如何实现跨域问题
  6. C++11的一些新特性
  7. JavaWeb学习总结(九)--JDBC入门
  8. 【js类库Raphaël】基于svg中的path画40%表示的环型图
  9. C#中Thread类中Join方法的理解(转载)
  10. 2014百度之星第三题Xor Sum(字典树+异或运算)
  11. 清空SQL Server数据库中所有表数据的方法
  12. 解析GenericOptionsParser
  13. JavaScript垃圾收集-标记清除和引用计数
  14. js 原型 函数和对象的关系
  15. Mac 常用快捷键
  16. GitHub Desktop 如何创建本地仓库,上传代码,删除仓库
  17. Mysql 设置远程连接
  18. Voltage Keepsake CodeForces - 801C (思维+二分)
  19. 优化网站设计(十):最小化JAVASCRIPT和CSS
  20. Linux文本处理工具——Sed

热门文章

  1. avalon 如何隐藏首屏加载页面时出现的花括号
  2. UFT12 更新模式
  3. RoCE vs iWARP
  4. MAC/Xcode简单操作命令
  5. 第一个ASP.NET Web API (C#)程序
  6. netstat 查看端口命令
  7. MySQL中varchar与char区别
  8. js模态框实现原理
  9. unity luaFramework
  10. Python导入自定义类时显示错误:attempted relative import beyond top-level package