zoukankan      html  css  js  c++  java
  • C# Stopwatch详解 转

    C# Stopwatch详解 

    命名空间:System.Diagnostics;

    namespace System.Diagnostics
    {
    
    // 提供一组方法和属性,可用于准确地测量运行时间。
    public class Stopwatch
    {
    
    // 获取以每秒计时周期数表示的计时器频率。此字段为只读。
    public static readonly long Frequency;
    
    
    // 指示计时器是否基于高分辨率性能计数器。此字段为只读。
    public static readonly bool IsHighResolution;
    
    
    // 初始化 System.Diagnostics.Stopwatch 类的新实例。
    public Stopwatch();
    
    
    // 获取当前实例测量得出的总运行时间。
    // 返回结果:
    // 一个只读的 System.TimeSpan,用于表示当前实例测量得出的总运行时间。
    public TimeSpan Elapsed { get; }
    
    
    // 获取当前实例测量得出的总运行时间(以毫秒为单位)。
    // 返回结果:
    // 一个只读长整型,表示当前实例测量得出的总毫秒数。
    public long ElapsedMilliseconds { get; }
    
    
    // 获取当前实例测量得出的总运行时间(用计时器计时周期表示)。
    // 返回结果:
    // 一个只读长整型,表示当前实例测量得出的计时器计时周期的总数。
    public long ElapsedTicks { get; }
    
    
    // 获取一个指示 System.Diagnostics.Stopwatch 计时器是否在运行的值。
    // 返回结果:
    // 如果 System.Diagnostics.Stopwatch 实例当前正在运行,并且在对某个时间间隔的运行时间进行测量,则该值为 true;否则为 false。
    public bool IsRunning { get; }
    
    
    // 获取计时器机制中的当前最小时间单位数。
    // 返回结果:
    // 一个长整型,表示基础计时器机制中的计时周期计数器值。
    public static long GetTimestamp();
    
    
    // 对新的 System.Diagnostics.Stopwatch 实例进行初始化,将运行时间属性设置为零,然后开始测量运行时间。
    // 返回结果:
    // 刚刚开始测量运行时间的 System.Diagnostics.Stopwatch。
    public static Stopwatch StartNew();
    
    
    // 停止时间间隔测量,并将运行时间重置为零。
    public void Reset();
    
    
    // 停止时间间隔测量,将运行时间重置为零,然后开始测量运行时间。
    public void Restart();
    
    
    // 开始或继续测量某个时间间隔的运行时间。
    public void Start();
    
    
    // 停止测量某个时间间隔的运行时间。
    public void Stop();
    }
    }

    使用流程

    Stopwatch sw = new Stopwatch();
    //开始计时
    sw.Start();
    //重新设置为零
    sw.Reset();
    //重新设置并开始计时
    sw.Restart();
    //结束计时
    sw.Stop();
    //获取运行时间间隔
    TimeSpan ts = sw.Elapsed;
    //获取运行时间[毫秒]
    long times = sw.ElapsedMilliseconds;
    //获取运行的总时间
    long times2 = sw.ElapsedTicks;
    //判断计时是否正在进行[true为计时]
    bool isrun = sw.IsRunning;
    //获取计时频率
    long frequency = Stopwatch.Frequency;

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

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

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

  • 相关阅读:
    express实现前后端通信上传图片,存储数据库(mysql)傻瓜教程(二)
    express实现前后端通信上传图片,存储数据库(mysql)傻瓜教程(一)
    [转载] 在阿里做了五年技术主管,我有话想说
    阿里云RDS MySql还原到本地Linux/Centos
    如何领域驱动设计?-实践感悟&总结分享
    jira + confluence 安装和破解
    RabbitMQ安装和配置
    [转]技术路线的选择重要但不具有决定性
    .Net core2.0日志组件Log4net、Nlog简单性能测试
    在微服务中使用领域事件
  • 原文地址:https://www.cnblogs.com/rosesmall/p/15152045.html
Copyright © 2011-2022 走看看