c#笔记番外篇同步异步并行串行多线程(以及lambda 表达式和Stopwatch)
学习目标:
算是一个一直以来的疑惑点而且ltm老师的视频了没有说这个,只能四处找资料;
先确定一个答案:就是异步和多线程是两种东西,异步可以在单线程里异步也可以在多线程里异步;
一、学习前置:
1.Stopwatch类
Stopwatch 通常用于测量代码执行时间,是性能分析和计时任务的常用工具。在下面的例子里会经常使用到;
1.1、声明
1.1.1正常声明
因为是一个类所以可以直接用正常的类的声明方法
Stopwatch sw= new Stopwatch ();
1.1.2StartNew()
这个类里有一个静态方法StartNew()使用这个方法就可以直接声明并且直接启动计时;注意是静态使用使用直接Stopwatch.就可以;
Stopwatch sw1 = Stopwatch.StartNew();
第一个的使用场景就是需要自己控制什么时候开始;第二个的是直接就开始;一般都是测代码的时间用二比较多;
1.2、启动、暂停、清零和重新开始四个方法
1.2.1启动 Start()
顾名思义就是启动开始计时,这个配合第一种声明使用;
Stopwatch sw = new Stopwatch ();
sw.Start();
1.2.2暂停 Stop()
顾名思义就是暂停当前计时,再启动的时候就再用Start()方法就可以继续计时
Stopwatch sw = new Stopwatch ();
sw.Start();//启动
sw.Stop();//暂停
sw.Start();//再启动
1.2.3清零 Reset()
顾名思义就是清除当前计时,但是注意只是清零还会继续计时不会停止
Stopwatch sw = new Stopwatch ();
sw.Start();//启动
sw.Reset();//清零
1.2.4重启 Restart()
重启就是会先清零计时再重新启动,这个一般用在测试循环的每一次运行时间
Stopwatch 