Stopwatch类学习
1、概述:给一条大MSDN的链接关于Stopwatch类最详细的教程 ,然后看着教程自己手动敲一边,加深映象,好记性不如烂键盘,哈哈,开个玩笑!
2、类位置:这个类在哪里,这个是重点,虽然C#IDE很强大,但是我们还是得简单的了解下。通过一段代码来说明:
using System;
namespace System.Diagnostics{
是不是一目了然!
using System;
using System.Threading;
using System.Diagnostics;
namespace Mulithreading{
class StopwatchStudy{
static void Main(string[] args){
Stopwatch sw=new Stopwatch();
sw.Start();//开始计时
Thread.Sleep();
sw.Stop();//计时结束
TimeSpan ts=sw.Elapsed;//获取当前实例(主线程)总共的运行时间
string Elapsed=string.Format("{0:00}:{1:00}:{2:00}:{3:00}",ts.Hours,ts.Minutes,ts.Seconds,ts.Milliseconds);//转换成字符串"{0:00}"表示对应的变量值以2位显示
Console.Write(Elapsed);
}
}
}
ElapsedMillseconds 获取当前实例(线程)的总运行时间(以毫秒为单位) 返回值类型为long;
using System;
using System.Threading;
using System.Diagnostics;
namespace Mulithreading
{
class StopwatchStudy
{
static void Main(string[] args)
{
Stopwatch sw = new Stopwatch();
sw.Start();//开始计时
Thread.Sleep();
sw.Stop();//计时结束
long ts = sw.ElapsedMilliseconds;
Console.WriteLine(ts);
sw.Restart();
Thread.Sleep();
sw.Stop();
long ts2 = sw.ElapsedMilliseconds;
Console.WriteLine(ts2);
}
}
}

ElapsedTicks 一个只读长整型,表示当前实例测量得出的计时器刻度总数。
isRunning 返回一个bool值表示计时器是否正在运行,同样也是只读
4、方法介绍
Start() 这里就不做代码演示了,最基础的
Stop() 上同
Rsest() 方法 停止时间间隔测量,将运行时间重置为0
代码如下:
using System;
using System.Threading;
using System.Diagnostics;
namespace Mulithreading
{
class StopwatchStudy
{
static void Main(string[] args)
{
Stopwatch sw = new Stopwatch();
sw.Start();//开始计时
Thread.Sleep();
sw.Stop();//计时结束
TimeSpan ts = sw.Elapsed;
string Elapsed = string.Format("{0:00}:{1:00}:{2:00}:{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds);
Console.WriteLine(Elapsed);
sw.Reset();//重置时间
TimeSpan ts2 = sw.Elapsed;//获取重置之后的总运行时间
string Elapsed1 = string.Format("{0:00}:{1:00}:{2:00}:{3:00}", ts2.Hours, ts2.Minutes, ts2.Seconds, ts2.Milliseconds);
Console.WriteLine(Elapsed1);
}
}
}

ReStart() 重置时间之后在开始重新测量时间相当于ReSet之后在Start
using System;
using System.Threading;
using System.Diagnostics;
namespace Mulithreading
{
class StopwatchStudy
{
static void Main(string[] args)
{
Stopwatch sw = new Stopwatch();
sw.Start();//开始计时
Thread.Sleep();
sw.Stop();//计时结束
TimeSpan ts = sw.Elapsed;
string Elapsed = string.Format("{0:00}:{1:00}:{2:00}:{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds);
Console.WriteLine(Elapsed);
sw.Restart();
Thread.Sleep();
sw.Stop();
TimeSpan ts2 = sw.Elapsed;
string Elapsed1 = string.Format("{0:00}:{1:00}:{2:00}:{3:00}", ts2.Hours, ts2.Minutes, ts2.Seconds, ts2.Milliseconds);
Console.WriteLine(Elapsed1);
}
}
}

StartNew() 将运行时间设置为0,然后开始测量运行时间,也就是重新开始一个新的实例,通过类名调用(上面的其他例子都通过对象实例调用)
需要注意的是该方法是Stopwatch的静态方法
public static void StartNew()
Stopwatch类学习的更多相关文章
- [转]使用Stopwatch类实现高精度计时
对一段代码计时同查通常有三种方法.最简单就是用DateTime.Now来进行比较了,不过其精度只有3.3毫秒,可以通过DllImport导入QueryPerformanceFrequency和Quer ...
- 用Stopwatch类获得程序运行时间
我们可以用Stopwatch类获得程序的运行时间,在优化代码时,可以用此方法来查看优化前后程序所耗费的时间 //Stopwatch类別在System.Diagnostics命名空间里 Stopwatc ...
- 【转】Date类学习总结(Calendar Date 字符串 相互转换 格式化)
原文网址:http://www.blogjava.net/jerry-zhaoj/archive/2008/10/08/233228.html Date类学习总结 1.计算某一月份的最大天数 Cale ...
- Stopwatch 类【转】
一般我们想要测试使用那种方法或着那种类型效率更高,使用Stopwatch类进行测试就可以,我也是现在才知道,汗一个. 先来看个小示例,如下. 前提,先引用using System.Diagnostic ...
- System类学习笔记
最近在学习源码的过程中发现:很多深层次的代码都用到了一个类System类,所以决定对System类一探究竟 本文先对System类进行了剖析,然后对System类做了总结 一.首先对该类的中的所有字段 ...
- 利用StopWatch类监控Java代码执行时间并分析性能
springframework中的StopWatch类可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间.一般用来测量代码执行所用的时间或者计算性能数据,在优化代码性能上可以使用Sto ...
- Date类学习总结(Calendar Date 字符串 相互转换 格式化)
Date类学习总结 1.计算某一月份的最大天数 Calendar time=Calendar.getInstance();time.clear();time.set(Calendar.YEAR,yea ...
- Scala中的类学习
Scala中的类学习 从java了解类的情况下,了解Scala的类并不难.Scala类中的字段自动带getter和setter方法,用@BeanProperty注解生成javaBean对象的getXX ...
- C# Stopwatch 类
命名空间:System.Diagnostics Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间.在典型的 Stopwatch 方案中,先调用 Start 方 ...
随机推荐
- RECONSUME_LATER
Failure consumption,later try to consume. ================MessageExt [queueId=0, storeSize=134, queu ...
- task:scheduled cron 合法
http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/crontrigger.html task:scheduled o ...
- (二分搜索)Can you solve this equation? -- hdu -- 2199
链接: http://acm.hdu.edu.cn/showproblem.php?pid=2199 Time Limit: 2000/1000 MS (Java/Others) Memory ...
- HRBUST1311 火影忍者之~忍者村 2017-03-06 16:06 106人阅读 评论(0) 收藏
火影忍者之-忍者村 忍者村是忍者聚居的村子,相等于国家的军事力量.绝大部分村民都是忍者,有一些忍者会在村内开设书店.餐厅等,不过大部分忍者都是为村子执行任务的忍者,以赚取酬劳,并于战时为国家出战. ...
- 别做HR最讨厌的求职者
有些求职者认为自己各方面都与所应聘的职位要求相匹配,因此在被淘汰之后总是特别不解,努力回忆起每个面试环节,却始终找不到原因.是的,也许你真的很优秀,但是你被淘汰了,原因也许并不大,只是你得罪了HR.其 ...
- [ThinkPHP] 比较标签 neq&nheq 与 PHP 中的 != 与 !== 出现的问题
1. 模板 > 内置标签 > 比较标签 控制器: $_data['list'] = [ 'dingo' , 'engo' , 'fengo' , 'gingo' , 'autoFill'= ...
- 有關更新Java 至UPDATE 45 後出現沒法進入ORACLE EBS
近日部份使用者在更新Java 至UPDATE 45 後出現沒法進入ORACLE. 解決方法如下. 在開始 => 程式集 => JAVA => Configure Java中 (Ja ...
- .net core 使用 redis
.net core 使用 redis 个人感觉.net core 对于微软技术而言有很重要的意义 ,所以最近已有时间就想看一看关于.net core 的文章. 今天我就来写一写如何在.net core ...
- django系列8.3.2--django中间件实现登录验证(2) 个人构想逻辑
middleware.py from django.utils.deprecation import MiddlewareMixin from django.shortcuts import rend ...
- django系列8.3--django中间件实现登录验证(1)
中间件版的登录验证需要依靠session,所以数据库中要有django_session表. urls.py from django.conf.urls import url from app01 im ...