Parallel.ForEach和Foreach.For用法
2024-10-18
26
.Net4.0中提供了新的命名空间:System.Threading.Tasks,用于提供并行计算的相关类,这里我主要介绍一个简单的类:Parallel,用于提供对并行循环和区域的支持。
简单来说,Parallel可以把一个普通的for或者foreach循环变为并行运算处理,我们看下代码:
Parallel.For(0, 50, i =>
{
//需要执行的代码段
});
List<string> items = new List<string>();
Parallel.ForEach(items, item => {
//需要执行的代码段
});
使用方法了原来的for和foreach差不多。
只需要简单的代码修改能换来效率的翻倍提高是一件很划算的事,但是需要注意的是:Parallel.For采用并行运算,需要考虑运算的前置条件以及需要考虑的问题,比如互锁,界面刷新等。有些场景并不建议使用Parallel,请看Parallel.For和普通For的区别
Parallel.ForEach()将等到所有分支任务完成。
更新于:2个月前赞一波!3
文章评论
评论问答