Parallel類(lèi)是對(duì)線(xiàn)程的一個(gè)抽象。該類(lèi)位于System.Threading.Tasks名稱(chēng)空間中,提供了數(shù)據(jù)和任務(wù)并行性。
  Paraller類(lèi)定義了數(shù)據(jù)并行地For和ForEach的靜態(tài)方法,以及任務(wù)并行的Invoke的靜態(tài)方法。Parallel.For()和Parallel.ForEach()方法在每次迭代中調(diào)用相同的代碼,Paraller.Invoke()允許調(diào)用不同的方法。

1.Parallel.For
  Parallel.For()方法類(lèi)似C#語(yǔ)法的for循環(huán)語(yǔ)句,多次執(zhí)行一個(gè)任務(wù)。但該方法并行運(yùn)行迭代,迭代的順序沒(méi)有定義。
  Parallel.For()方法中,前兩個(gè)參數(shù)定義了循環(huán)的開(kāi)頭和結(jié)束,第三個(gè)參數(shù)是一個(gè)Action委托。Parallel.For方法返回類(lèi)型是ParallelLoopResult結(jié)構(gòu),它提供了循環(huán)是否結(jié)束的信息。
  Parallel.For有多個(gè)重載版本和多個(gè)泛型重載版本。
  示例:

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

     static void ForTest()
        {
            ParallelLoopResult plr =
                Parallel.For(0,10,i => {
                    Console.WriteLine("{0},task:{1},thread:{2}",i,Task.CurrentId,Thread.CurrentThread.ManagedThreadId);
                    Thread.Sleep(5000);
                });