随着多核时代的到来,并行开发越来越展示出它的强大威力!
使用并行程序,充分的利用系统资源,提高程序的性能。在.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); });