Stopwatch类的使用

Stopwatch类的使用Stopwatch类提供了一种方便的机制来测量运行时间。Stopwatch使用了操作系统和硬件提供的最高分辨率机制,通常少于1毫秒(相比之下DateTime.Now和Environment.TickCount的分辨率在15毫秒左右)。要使用Stopwatch,可以调用StartNew方法。这将会实例化一个Stopwatch对象并开始计时(此外,也可以先实例化,再手动调用Start方法)。Elap…

大家好,又见面了,我是你们的朋友全栈君。

Stopwatch类提供了一种方便的机制来测量运行时间。Stopwatch使用了操作系统和硬件提供的最高分辨率机制,通常少于1毫秒(相比之下DateTime.Now和Environment.TickCount的分辨率在15毫秒左右)。
要使用Stopwatch,可以调用StartNew方法。这将会实例化一个Stopwatch对象并开始计时(此外,也可以先实例化,再手动调用Start方法)。Elapsed属性将以TimeSpan的形式返回消耗的时间间隔:

using System;
using System.Diagnostics;

namespace StopwatchDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            Stopwatch s = Stopwatch.StartNew();
            //Stopwatch sw = new Stopwatch();
            //sw.Start();
            for (int i = 0; i < 10000; i++)
            {
                Console.Write("-");
            }
            Console.WriteLine("\n");
            Console.WriteLine($"耗时:{s.Elapsed.TotalMilliseconds}毫秒"); // 代码运行所消耗的毫秒数
            Console.WriteLine($"耗时:{s.ElapsedTicks}个滴答数"); // 获取当前实例测量的总经过时间,以计时器为单位。一个只读的长整数,表示当前实例测量的计时器滴答总数。
            s.Stop(); // 运行Stopwatch并不会引起任何的后台活动,因此调用Stop方法是可选的。
        }
    }
}

Stopwatch还公开了ElapsedTicks属性。该属性将以long的形式返回消耗的计数值数目。若要将计数值转换为秒,则需要将其除以Stopwatch.Frequency属性的值。除此之外,Stopwatch还有ElapsedMilliseconds属性,而这个属性往往是最易用的。
调用Stop方法将终止计时,Elapsed和ElapsedTicks属性值将不再改变。运行Stopwatch并不会引起任何的后台活动,因此调用Stop方法是可选的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152445.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CentOS 7 升级 Linux 内核

    CentOS 7 升级 Linux 内核升级CentOS内核参考资料1升级CentOS内核参考资料2通过/proc虚拟文件系统读取或配置内核Linux内核官网CentOS官网1.关于Linux内核Linux内核分两种:官方内核(通常是内核开发人员用)和各大Linux发行版内核(一般用户常用)。1.1官方内核在使用Docker时,发现其对Linux内核版本的最低要求…

    2022年7月23日
    14
  • pandas—dropna[通俗易懂]

    pandas—dropna[通俗易懂]文章目录1.pd.Series.dropna官方案例2.pd.DataFrame.dropna官方案例1.pd.Series.dropnaSeries.dropna(axis=0,inplace=False,how=None)描述返回删除了缺失值的新Series参数axis:{0or‘index’},default0只有一个轴可以从中删除值inplace:bool,defaultFalse如果为True,则就地修改返回None如果为False,则

    2025年6月3日
    4
  • iptables 开放防火墙端口

    iptables 开放防火墙端口总所周知,远程访问centos服务的时候,都要开放相应服务的端口。下面就来说道说道。存在的问题一般情况下,centos下都会存在一个/etc/sysconfig/iptables文件,该文件是用来记录要开放的端口ip的。当然,也不排除新安装的centos,空空如也缺失的,此时就无法执行serviceiptablesrestart。如果你的centos中能正常运…

    2022年10月19日
    1
  • 如何用 30 行代码实现微信自动回复机器人?「建议收藏」

    如何用 30 行代码实现微信自动回复机器人?「建议收藏」作者|Ahab责编|胡巍巍写在前面很多朋友对itchat非常感兴趣,近日又学到了itchat另一种有趣的玩法——微信自动回复机器人。程序很简单仅仅三十行代码左右,…

    2022年10月1日
    3
  • NetCMS修改之二:单击新闻附件,直接打开文件「建议收藏」

    NetCMS修改之二:单击新闻附件,直接打开文件「建议收藏」   NetCMS系统的新闻附件,是通过down.aspx页面实现下载附件的。这样做的好处可能是可以隐藏附件的真实地址,但给用户使用会带来一个小麻烦:无法使用右键单击来实现将下载的文件另存为。   经检查,此功能是在NetCMS.Publish命名空间的LabelMass类中定义的getNewsFiles实现的,文件位于NetCMS.Publish/Label/NewsParameter.

    2022年9月29日
    3
  • Python机器学习笔记:不得不了解的机器学习面试知识点(1)[通俗易懂]

    Python机器学习笔记:不得不了解的机器学习面试知识点(1)[通俗易懂]机器学习岗位的面试中通常会对一些常见的机器学习算法和思想进行提问,在平时的学习过程中可能对算法的理论,注意点,区别会有一定的认识,但是这些知识可能不系统,在回答的时候未必能在短时间内答出自己的认识,因

    2022年7月6日
    26

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号