命名空间: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 APIQueryPerformanceFrequency 和 QueryPerformanceCounter

注意

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

最新文章

  1. 项目vue2.0仿外卖APP(六)
  2. 第一节 HTML网页和CSS样式
  3. Hibernate的关联映射——单向N-1关联
  4. uva 818 (位运算 + 判环)
  5. iOS开发——实用技术OC篇&8行代码教你搞定导航控制器全屏滑动返回效果
  6. codevs 版刷计划(1000-1099)
  7. ajaxPro用法
  8. iOS 面试基础题
  9. 从源码看Android中sqlite是怎么读DB的(转)
  10. PariticalFilter在MFC上的运行,源代码公开
  11. 使用ActionBarActivity或者RxAppCompatActivity或者AppCompatActivity闪退的问题
  12. PHP防XSS 防SQL注入的代码
  13. 笔记:MyBatis Mapper XML文件详解 - 映射和参数
  14. java多线程探究
  15. Hbase存储模式
  16. Linux中“零拷贝”
  17. 强化学习--DeepQnetwork 的一些改进
  18. Java基础再复习(继承、多态、方法内部类**、HashMap用法**、参数传递**)
  19. Java 获取系统时间
  20. MySQL 批量杀mysql线程

热门文章

  1. [Erlang05]gen_server怎么去写eunit?
  2. zookeeper 开机启动
  3. javascript实现俄罗斯方块游戏
  4. 为啥我的Andrid百度SDK不能正常运行?
  5. iOS开发应用结构化资源储备
  6. less配置
  7. 2个list取差集
  8. How to Mount a Remote Folder using SSH on Ubuntu
  9. 【Oracle】安装注意事项
  10. UML图基础