許多個人計算機和工作站有多個CPU核心,可讓多個線程同時執行。 若要利用硬體,您可以將程式代碼平行處理,以將工作分散到多個處理器。
過去,平行處理需要低層次的執行緒和鎖的操控。 Visual Studio 和 .NET 藉由提供運行時間、類別庫類型和診斷工具,來增強平行程序設計的支援。 這些功能是在 .NET Framework 4 中引進的,可簡化平行開發。 您可以在自然成語中撰寫有效率、精細且可調整的平行程序代碼,而不需要直接使用線程或線程集區。
下圖提供 .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 中平行程序設計之其他資訊和範例資源的連結。 |