Parallel并行运算实例

      并行运算Parallel,是.net 4.0版本里添加的新处理方式,主要充分利用CPU、任务并发的模式来达到提高运算能力。简单理解为每个CPU都在处理任务,而不会让它们空闲下来。

  直接看实例:

namespace ConsoleParallel

{

    class Program

    {

        static void Main(string[] args)

        {

            Stopwatch watch1 = Stopwatch.StartNew();

            for (int i = 0; i < 4; i++)

            {

                RunMethod(i);

            }

            Console.WriteLine("非并行耗时:" + watch1.ElapsedMilliseconds);



            Stopwatch watch2 = Stopwatch.StartNew();

            Parallel.For(0, 4, (i) =>

            {

                RunMethod(i);

            });

            Console.WriteLine("并行耗时:" + watch2.ElapsedMilliseconds);

        }



        private static void RunMethod(int i)

        {

            switch (i)

            {

                case 1:

                    Test1();

                    break;

                case 2:

                    Test2();

                    break;

                case 3:

                    Test3();

                    break;

                case 4:

                    Test4();

                    break;

            }

        }



        private static void Test1()

        {

            System.Threading.Thread.Sleep(10000);

        }



        private static void Test2()

        {

            System.Threading.Thread.Sleep(20000);

        }



        private static void Test3()

        {

            System.Threading.Thread.Sleep(4000);

        }



        private static void Test4()

        {

            System.Threading.Thread.Sleep(6000);

        }

    }

}

 运行效果如下:

Parallel并行运算实例

通过以上结果:我们发现,Parallel并发在性能和效率上提高了不少。

Parallel.ForEach(lists, (obj) => {
            Response.Write(obj+"<br/>");
        });

应用:将大数据加载在内存中时,借助多个方法并行去处理,每个方法执行部分数据加载,然后借助swich来区分,可以有效的提高速度。

你可能感兴趣的:(EL)