欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#的中stopwatch的简单应用

程序员文章站 2022-03-29 17:42:01
本文主要是讲解stopwatch对程序运行时间的准确测量 仅仅介绍里面的StartNew()方法,Restart()方法和ElapsedMilliseconds { get;}属性 public void StartNew():作用是对新的 System.Diagnostics.Stopwatch ......

本文主要是讲解stopwatch对程序运行时间的准确测量

仅仅介绍里面的startnew()方法,restart()方法和elapsedmilliseconds { get;}属性

public void startnew():作用是对新的 system.diagnostics.stopwatch 实例进行初始化,将运行时间属性设置为零,然后开始测量运行时间。 
它的返回结果是刚刚开始测量运行时间的system.diagnostics.stopwatch。
public void restart():作用是停止时间间隔测量,将运行时间重置为零,然后开始测量运行时间。
public long elapsedmilliseconds { get;}:作用是获取当前实例测量得出的总运行时间(以毫秒为单位)。 
返回结果:一个只读长整型,表示当前实例测量得出的总毫秒数

 注意:在使用stopwatch时,命名空间需要引用using system.diagnostics

using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;

using system.diagnostics;
using system.threading;

namespace synchronizationproblems
{
    class program
    {
        static void main(string[] args)
        {
            int x = 0;
            const int iterationnumber = 5000000;
            stopwatch sw = stopwatch.startnew();
            for(int i=0;i<iterationnumber;i++)
            {
                x++;
            }
            console.writeline("不使用锁的情况下花费的时间:{0}ms",sw.elapsedmilliseconds);
            sw.restart();

            for (int i = 0; i < iterationnumber; i++)
            {
                interlocked.increment(ref x);
            }

            console.writeline("使用锁的情况下花费的时间:{0}ms", sw.elapsedmilliseconds);
            console.read();

        }
    }
}

运行环境是vs2017,运行结果为:

C#的中stopwatch的简单应用

参考内容:
博客:https://www.cnblogs.com/vaevvaev/p/6929967.html
书籍:learning hard c#学习笔记 (*著)