寫在前面
Task Parallel Library 是微軟.NET框架基礎類庫(BCL)中的一個,主要目的是為了簡化并行編程,可以實現在不同的處理器上并行處理不同任務,以提升運行效率。Parallel常用的方法有For/ForEach/Invoke三個靜態方法。
實現代碼
public class ParallelTester{public static void ParallelTest01(){// 從1到9并行執行Parallel.For(1, 10, (i) =>{Console.WriteLine($"我是第{i}個, 執行時間是{ DateTime.Now.Second},{DateTime.Now.Millisecond}");});Console.WriteLine("1.Parallel.For 測試方法執行完畢");// 指定列表的并行執行var arr = new List<int>() { 1, 2, 3, 4, 5 };Parallel.ForEach(arr, i =>{Console.WriteLine($"我是第{i}個, 執行時間是{ DateTime.Now.Second},{DateTime.Now.Millisecond}");});Console.WriteLine("2.Parallel.ForEach 測試方法執行完畢");// 并行執行多個任務Parallel.Invoke(() => { Console.WriteLine($"并行任務1,線程Id:{Thread.CurrentThread.ManagedThreadId}"); },() => { Console.WriteLine($"并行任務2,線程Id:{Thread.CurrentThread.ManagedThreadId}"); },() => { Console.WriteLine($"并行任務3,線程Id:{Thread.CurrentThread.ManagedThreadId}"); });Console.WriteLine("3.Parallel.Invoke 測試方法執行完畢");}}