比方说有一个FOR循环 我想并行的进行计算,最好能想C++中的openMP一样,加两句话就可以了,请问在C#里能做到吗?

解决方案 »

  1.   

    Parallel.For - for 循环的并行运算  
    Parallel.ForEach - foreach 循环的并行运算  
    Parallel.Invoke - 并行调用多个任务  
    Task - 任务,基于线程池。
    PLINQ - 用于对内存中的数据做并行运算
    private void ParallelForDemo()
            {
                DateTime dt = DateTime.Now;
                 System.Threading.Tasks.Parallel.For(0, 20, (i) => { GetData(i); });
                Response.Write((DateTime.Now - dt).TotalMilliseconds.ToString());
                Response.Write("<br />");
            }
            private int GetData(int i)
            {
                System.Threading.Thread.Sleep(100);
                Response.Write(i.ToString());
                Response.Write("<br />");
                return i;
            }