C# Parallel用法

在命名空间System.Threading.Tasks下,有一个静态类Parallel简化了在同步状态下的Task的操作。

Parallel主要提供了3个有用的方法:For、ForEach、Invoke。 For方法,主要用于处理针对数组元素的并行操作,如下: 
        static void Main(string[] args)        

   { 
            int[] nums = new int[] { 1, 2, 3, 4 };             

    Parallel.For(0, nums.Length, (i) =>  

      { 
                  Console.WriteLine("针对数组索引{0}对应的那个元素{1}的一些工作代码……",i, nums[i]); }); 
                      Console.ReadKey();         

          }

    }

 输出为:

针对数组索引0对应的那个元素1的一些工作代码…… 

针对数组索引2对应的那个元素3的一些工作代码…… 

针对数组索引1对应的那个元素2的一些工作代码…… 

针对数组索引3对应的那个元素4的一些工作代码……

可以看到,工作代码并不按照数组的索引次序进行遍历。显而易见,这是因为我们的遍历是并行的,不是顺序的。

所以这里也可以引出一个小建议:如果我们的输出必须是同步的或者说必须是顺序输出的,则不应使用Parallel的方式.

Parallel的Foreach()同上。。。

 

posted @ 2013-06-05 23:17  寻找灯塔ing  阅读(462)  评论(0编辑  收藏  举报