Parallel類是對線程的一個抽象。該類位于System.Threading.Tasks名稱空間中,提供了數(shù)據(jù)和任務(wù)并行性。
  Paraller類定義了數(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()方法類似C#語法的for循環(huán)語句,多次執(zhí)行一個任務(wù)。但該方法并行運行迭代,迭代的順序沒有定義。
  Parallel.For()方法中,前兩個參數(shù)定義了循環(huán)的開頭和結(jié)束,第三個參數(shù)是一個Action委托。Parallel.For方法返回類型是ParallelLoopResult結(jié)構(gòu),它提供了循環(huán)是否結(jié)束的信息。
  Parallel.For有多個重載版本和多個泛型重載版本。
  示例:

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

     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);
                });            
        
		

網(wǎng)友評論