.NET 中的平行程式設計:文件的指南

許多個人計算機和工作站有多個CPU核心,可讓多個線程同時執行。 若要利用硬體,您可以將程式代碼平行處理,以將工作分散到多個處理器。

過去,平行處理需要低層次的執行緒和鎖的操控。 Visual Studio 和 .NET 藉由提供運行時間、類別庫類型和診斷工具,來增強平行程序設計的支援。 您可以在自然成語中撰寫有效率、精細且可調整的平行程序代碼,而不需要直接使用線程或線程集區。

下圖提供 .NET 中平行程序設計架構的高階概觀。

.NET 平行程式設計架構

科技 說明
工作平行程式庫 (TPL) 提供 System.Threading.Tasks.Parallel 類別的文件,其中包含 For 和 ForEach 迴圈的平行版本,以及 System.Threading.Tasks.Task 類別的文件,這表示表達異步操作的慣用方式。
並行 LINQ (PLINQ) LINQ to Objects 的平行實作,可大幅改善許多案例中的效能。
平行程序設計 數據結構 提供安全線程集合類別、輕量型同步處理類型和延遲初始化類型的文件連結。
平行診斷工具 提供 Visual Studio 偵錯視窗(適用於工作和平行堆疊)以及 Concurrency Visualizer 的文件連結。
PLINQ 和 TPL 的自定義分割器 描述數據分割器的運作方式,以及如何設定預設數據分割器或建立新的數據分割器。
工作排程器 描述排程器的運作方式,以及設定預設排程器的方式。
PLINQ 和 TPL 中的 Lambda 運算式 提供 C# 和 Visual Basic 中 Lambda 表達式的簡短概觀,並示範如何在 PLINQ 和工作平行連結庫中使用這些運算式。
如需進一步閱讀 提供 .NET 中平行程序設計之其他資訊和範例資源的連結。

另請參閱