雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

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

文章评论

评论问答