C# Parallel类For循环与普通For循环耗时性能比较
1 static void Main(string[] args)
2 {
3 var dt = DateTime.Now;
4 var rand = new Random(DateTime.Now.Millisecond);
5 for (int i = 0; i < 20; i++)
6 {
7 Thread.Sleep(rand.Next(100, 1000));
8 }
9 var standerTime = (DateTime.Now - dt).TotalMilliseconds;
10 Console.WriteLine("标准的for循环,耗时{0}毫秒", standerTime);
11 dt = DateTime.Now;
12 Parallel.For(0, 20, i =>
13 {
14 Thread.Sleep(rand.Next(100, 1000));
15 });
16 var parallelTime = (DateTime.Now - dt).TotalMilliseconds;
17 Console.WriteLine("并行的for循环,耗时{0}毫秒", parallelTime);
18 Console.WriteLine();
19 if (standerTime <= parallelTime)
20 {
21 Console.WriteLine("----------标准的for循环节省{0}毫秒----------", (parallelTime - standerTime));
22 }
23 else
24 {
25 Console.WriteLine("----------并行的for循环节省{0}毫秒----------", (standerTime - parallelTime));
26 }
27 Console.ReadKey();
28 }
C# Parallel类For循环与普通For循环耗时性能比较的更多相关文章
- Parallel类(简化Task 操作)
Parallel类 Parallel类是对线程的一个很好抽象.该类位于System.Threading.Tasks命名空间中,提供了数据和任务并行性. 1.用Parallel.For()方法循环 // ...
- 多线程之Parallel类
Parallel类是对线程的一个抽象.该类位于System.Threading.Tasks名称空间中,提供了数据和任务并行性. Paraller类定义了数据并行地For和ForEach的静态方法,以及 ...
- C# 并行任务——Parallel类
一.Parallel类 Parallel类提供了数据和任务的并行性: 二.Paraller.For() Paraller.For()方法类似于C#的for循环语句,也是多次执行一个任务.使用Paral ...
- 第九节:深究并行编程Parallel类中的三大方法 (For、ForEach、Invoke)和几大编程模型(SPM、APM、EAP、TAP)
一. 并行编程 1. 区分串行编程和串行编程 ①. 串行编程:所谓的串行编程就是单线程的作用下,按顺序执行.(典型代表for循环 下面例子从1-100按顺序执行) ②. 并行编程:充分利用多核cpu的 ...
- 转载 [深入学习C#]C#实现多线程的方式:使用Parallel类
简介 在C#中实现多线程的另一个方式是使用Parallel类. 在.NET4中 ,另一个新增的抽象线程是Parallel类 .这个类定义了并行的for和foreach的 静态方法.在为 for和 fo ...
- 数据与任务的并行---Parallel类
Parallel类是对线程的抽象,提供数据与任务的并行性.类定义了静态方法For和ForEach,使用多个任务来完成多个作业.Parallel.For和Parallel.ForEach方法在每次迭代的 ...
- 一、并行编程 - 数据并行 System.Threading.Tasks.Parallel 类
一.并行概念 1.并行编程 在.NET 4中的并行编程是依赖Task Parallel Library(后面简称为TPL) 实现的.在TPL中,最基本的执行单元是task(中文可以理解为"任 ...
- 【.Net】C#实现多线程的方式:使用Parallel类
简介 在C#中实现多线程的另一个方式是使用Parallel类. 在.NET4中 ,另一个新增的抽象线程是Parallel类 .这个类定义了并行的for和foreach的 静态方法.在为 for和 f ...
- [深入学习C#]C#实现多线程的方式:使用Parallel类
简介 在C#中实现多线程的另一个方式是使用Parallel类. 在.NET4中 ,另一个新增的抽象线程是Parallel类 .这个类定义了并行的for和foreach的 静态方法.在为 for和 f ...
- C# ——Parallel类
一.Parallel类 Parallel类提供了数据和任务的并行性: 二.Paraller.For() Paraller.For()方法类似于C#的for循环语句,也是多次执行一个任务.使用Paral ...
随机推荐
- UiPath屏幕抓取Screen Scraping的介绍和使用
一.屏幕抓取(Screen Scraping)的介绍 屏幕抓取使您能够在特定的UI元素或文档(如.PDF文档)中提取数据 二.屏幕抓取(Screen Scraping)在UiPath中的使用 [if ...
- AI场景存储优化:云知声超算平台基于 JuiceFS 的存储实践
云知声是一家专注于语音及语言处理的技术公司.Atlas 超级计算平台是云知声的计算底层基础架构,为云知声在 AI 各个领域(如语音.自然语言处理.视觉等)的模型迭代提供训练加速等基础计算能力.Atla ...
- 编译调试Net6源码
前言 编辑调试DotNet源码可按照官网教程操作,但因为网络问题中间会出现各种下载失败的问题,这里出个简单的教程(以6为版本) 下载源码 下载源码 GitHub下载源码速度极慢,可替换为国内仓库htt ...
- browserify的standalone的含义
白话:就像Jquery的$, 把你打包后的函数挂在window下你指定的名字下 废话:白话看不懂,就看下面的废话,你不得不花更多时间理解--standalone AAA的含义$ browserify ...
- (数据科学学习手札140)详解geopandas中基于pyogrio的矢量读写引擎
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,前不久我在一篇文章中给大家分享 ...
- nexus org.sonatype.nexus.bootstrap.jetty.JettyServer - Start failed
INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer - Runningjvm 1 | 2020-04- ...
- java面试题(2022最新)
1.String是基本数据类型么?不是基本数据类型,byte int char long flout duable boolem short 2.int 和integer区别int是基本数据类型,in ...
- angular好文
Angular常见问题:subscribe()还是 async 管道 ? 终极答案就在这里 Angular Development #10 – RouteReuseStrategy – Maintai ...
- 2022-7-25 第七组 pan小堂 多态
多态 多态是继封装.继承之后,面向对象的第三大特性. 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态. Java作为面向对象的语言,同样可以描 ...
- 递归概念&分类&注意事项和使用递归计算1-n之间的和
递归 概述 递归:指在当前方法内调用自己的这种现象. 递归的分类: 递归分为两种,直接递归和间接递归 直接递归称为方法自身调用自己 简介递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法 注 ...