Parallel.Foreach

本文介绍了.NET 4.0中新增的并行编程特性,重点讲解了System.Threading.Tasks命名空间下的Parallel类及其Invoke、For和ForEach方法。通过示例演示了并行执行的特点及可能遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

随着多核时代的到来,并行开发越来越展示出它的强大威力!

使用并行程序,充分的利用系统资源,提高程序的性能。在.net 4.0中,微软给我们提供了一个新的命名空间:System.Threading.Tasks。这里面有很多关于并行开发的东西,今天第一篇就介绍下最基础,最简单的——认识和使用Parallel。

在Parallel下面有三个常用的方法invoke,For和ForEach

并行同时访问全局变量,会出现资源争夺,大多数时间消耗在了资源等待上面。

 

Parallel.For

从哪里可以看出来Parallel.For是并行执行的呢?下面来写个测试代码:

Parallel.For(0, 100, i => { Console.Write(i + "\t"); });

从0输出到99,运行后会发现输出的顺序不对,用for顺序肯定是对的,并行同时执行,所以会出现输出顺序不同的情况。

 

 

Parallel.Foreach

这个方法跟Foreach方法很相似,想具体了解的,可以百度些资料看看,这里就不多说了,下面给出其使用方法:

List<int> list = new List<int>(); list.Add(0); Parallel.ForEach(list, item => { DoWork(item); });

转载于:https://www.cnblogs.com/zhayunjia/p/6078045.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值