博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#并行编程之数据并行
阅读量:4981 次
发布时间:2019-06-12

本文共 1741 字,大约阅读时间需要 5 分钟。

所谓的数据并行的条件是:

      1、拥有大量的数据。

      2、对数据的逻辑操作都是一致的。

      3、数据之间没有顺序依赖。

运行并行编程可以充分的利用现在多核计算机的优势。记录代码如下:

public class ParallerFor    {        public List
studentList; public ParallerFor() { this.studentList = new List
(); for (int i = 0; i < 50; i++) { this.studentList.Add("xiaochun"+i.ToString()); } } public void ParallerTest() { var sw = Stopwatch.StartNew(); foreach (string str in this.studentList) { Console.WriteLine("this is sync "+str); Thread.Sleep(800); } Console.WriteLine("运行时间:"+sw.Elapsed.ToString()); } public void ParallerAsyncTest() { var sw = Stopwatch.StartNew(); Action
ac = (i) => { Console.WriteLine("this is async " + this.studentList[i]); Thread.Sleep(800); }; Parallel.For(0, this.studentList.Count,ac);//这里的0是指循环的起点 Console.WriteLine("运行时间:" + sw.Elapsed.ToString()); } public void ParallalForEachTest() { var sw = Stopwatch.StartNew(); Action
ac = (str) => { int num = int.Parse(str.Replace("xiaochun",string.Empty)); if (num > 10) { Console.WriteLine(str); Thread.Sleep(1000); } }; //限定最大并行数目 ParallelOptions op = new ParallelOptions(); op.MaxDegreeOfParallelism = 4; Parallel.ForEach(this.studentList,op,ac); //这里没有限定最大并行数目 //Parallel.ForEach(this.studentList,ac); } }

 

转载于:https://www.cnblogs.com/msql/p/6109459.html

你可能感兴趣的文章
python调用shell小技巧
查看>>
TL431的几种常用用法
查看>>
js 经典闭包题目详解
查看>>
在项目中移除CocoaPods
查看>>
【洛谷】CYJian的水题大赛【第二弹】解题报告
查看>>
POJ 1703 Find them, Catch them【种类/带权并查集+判断两元素是否在同一集合/不同集合/无法确定+类似食物链】...
查看>>
L1-5. A除以B【一种输出格式错了,务必看清楚输入输出】
查看>>
Git一分钟系列--快速安装git客户端
查看>>
纵越6省1市-重新启动
查看>>
hive安装以及hive on spark
查看>>
jz1074 【基础】寻找2的幂
查看>>
Wannafly模拟赛5 A 思维 D 暴力
查看>>
【Linux开发】CCS远程调试ARM,AM4378
查看>>
Linux之ssh服务介绍
查看>>
排序:冒泡排序
查看>>
Java中instanceof关键字的用法总结
查看>>
引用类型-Function类型
查看>>
(转)Android 仿订单出票效果 (附DEMO)
查看>>
数据库多张表导出到excel
查看>>
微信小程序去除button默认样式
查看>>