并行forearch的使用及测试(Parallel.Foreach)
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Threading.Tasks; namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
List<int> aa = new List<int>();
Random Rand = new Random();
for (int i = ; i < ; i++)
{
aa.Add(Rand.Next());
}
Stopwatch st = new Stopwatch(); st.Start();
foreach (var item in aa)
{
item.ToString();
}
st.Stop();
Console.WriteLine("========" + st.ElapsedMilliseconds); st.Restart();
Parallel.ForEach(aa, (item, loopstate) => { item.ToString(); });
st.Stop();
Console.WriteLine("========" + st.ElapsedMilliseconds); st.Restart();
Parallel.ForEach(aa, new ParallelOptions() { MaxDegreeOfParallelism = },(item, loopstate) => { item.ToString(); }); //指定最大线程数
st.Stop();
Console.WriteLine("========" + st.ElapsedMilliseconds); st.Restart();
Parallel.ForEach(aa, (item, loopstate) => {
item.ToString();
if (item>)
{
loopstate.Stop();
}
if (loopstate.IsStopped)
{
Console.WriteLine("loopstate.IsStopped");
}
});
st.Stop();
Console.WriteLine("========" + st.ElapsedMilliseconds);
Console.Read();
}
}
}

并行forearch的使用及测试(Parallel.Foreach)的更多相关文章
- Parallel.ForEach() 并行循环
		现在的电脑几乎都是多核的,但在软件中并还没有跟上这个节奏,大多数软件还是采用传统的方式,并没有很好的发挥多核的优势. 微软的并行运算平台(Microsoft’s Parallel Computing ... 
- C# 使用Parallel并行开发Parallel.For、Parallel.Foreach实例
		using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ... 
- .NET4中多线程并行方法Parallel.ForEach
		原文发布时间为:2011-12-10 -- 来源于本人的百度文章 [由搬家工具导入] namespace ForEachDemo{ using System; using System.I ... 
- Parallel.Foreach
		随着多核时代的到来,并行开发越来越展示出它的强大威力! 使用并行程序,充分的利用系统资源,提高程序的性能.在.net 4.0中,微软给我们提供了一个新的命名空间:System.Threading.Ta ... 
- C# 多线程  Parallel.For 和 For 谁的效率高?那么 Parallel.ForEach 和 ForEach 呢?
		还是那句话:十年河东,十年河西,莫欺少年穷. 今天和大家探讨一个问题:Parallel.For 和 For 谁的效率高呢? 从CPU使用方面而言,Parallel.For 属于多线程范畴,可以开辟多个 ... 
- Parallel.Foreach的基础知识
		微软的并行运算平台(Microsoft’s Parallel Computing Platform (PCP))提供了这样一个工具,让软件开发人员可以有效的使用多核提供的性能. Visual Stud ... 
- Parallel.ForEach 之 MaxDegreeOfParallelism
		参考:Max Degree of Parallelism最大并行度配置 结论: 与设置的线程数有关 有设置的并行度有关 测试如下: @@@code System.Threading.ThreadPoo ... 
- Parallel.ForEach , ThreadPool.QueueUserWorkItem
		using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ... 
- Parallel.ForEach 多线程 声明失败 "未将对象引用设置到对象的实例"
		x using System; using System.Collections.Generic; namespace Parallel.ForEach { class Program { //代码结 ... 
随机推荐
- P2734 游戏 A Game
			题目背景 有如下一个双人游戏:N(2 <= N <= 100)个正整数的序列放在一个游戏平台上,游戏由玩家1开始,两人轮流从序列的任意一端取一个数,取数后该数字被去掉并累加到本玩家的得分中 ... 
- [bzoj 5143][Ynoi 2018]五彩斑斓的世界
			传送门 Descroption 给了你一个长为n的序列a,有m次操作 1.把区间[l,r]中大于x的数减去x 2.查询区间[l,r]中x的出现次数 Solution 分块 对于每个块,我们都分别维护: ... 
- Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2)
			A - Forgetting Things 题意:给 \(a,b\) 两个数字的开头数字(1~9),求使得等式 \(a=b-1\) 成立的一组 \(a,b\) ,无解输出-1. 题解:很显然只有 \( ... 
- Spring Cloud Gateway(四):路由定义定位器 RouteDefinitionLocator
			本文基于 spring cloud gateway 2.0.1 1.简介 RouteDefinitionLocator 是路由定义定位器的顶级接口,它的主要作用就是读取路由的配置信息(org.spri ... 
- Java实现多线程生产者消费者模式的两种方法
			生产者消费者模式:生产者和消费者在同一时间段内共用同一存储空间,生产者向空间里生产数据,而消费者取走数据.生产者生产一个,消费者消费一个,不断循环. 第一种实现方法,用BlockingQueue阻塞队 ... 
- hello world&Restart the Journey
			一个女OIer. 总结,游记,集训日志在博客园:题解大多在洛谷. 洛谷博客点这里. $\texttt{ You can go on,just take me with you.}$ 可以叫我Har ... 
- p2p通信原理及实现
			1.简介 当今互联网到处存在着一些中间件(MIddleBoxes),如NAT和防火墙,导致两个(不在同一内网)中的客户端无法直接通信.这些问题即便是到了IPV6时代也会存在,因为即使不需要NAT,但还 ... 
- oracle中的trigger
			https://blog.csdn.net/indexman/article/details/8023740/ https://www.cnblogs.com/sharpest/p/7764660.h ... 
- SpringMVC源码分析--HandlerMappings
			之前分析过SpringMVC中的DispatcherServlet,分析了SpringMVC处理请求的过程.但忽略了一些DispatcherServlet协助请求处理的组件,例如SpringMVC中的 ... 
- PS 实用技巧
			1. 调整大小 ctrl + T 2. 导出透明背景图片 选择 png格式 
