以 .NET Framework 進行平行程式設計

許多個人電腦和工作站都具有兩個或四個核心 (即 CPU),而能夠同時執行多個執行緒。 不久的將來,電腦應該會具有更多的核心。 若要利用現今和未來的硬體優勢,您可以將您的程式碼平行化,以便將工作分散到多個處理器。 在過去,平行化作業需要在低階操作執行緒和鎖定。 Visual Studio 2010 和 .NET Framework 4 提供了新的執行階段、新的類別庫型別和新的診斷工具,以加強支援平行程式設計。 這些功能簡化了平行開發作業,讓您能夠利用簡單常見的語法,撰寫效率高、精細且具彈性的平行程式碼,而不需要直接使用執行緒或執行緒集區。 下圖提供 .NET Framework 4 中平行程式設計架構的高階概觀。

.NET 平行程式設計架構

相關主題

技術

說明

工作平行程式庫

提供 System.Threading.Tasks.Parallel 類別 (包含平行版本的 ForForEach 迴圈) 及 System.Threading.Tasks.Task 類別 (表示表達非同步作業較好的方式) 的文件。

平行 LINQ (PLINQ)

平行實作的 LINQ to Objects,在許多情節中可大幅改善效能。

適用於平行程式設計的資料結構

提供安全執行緒集合類別、輕量型同步處理類型和延遲初始設定類型的文件連結。

平行診斷工具

提供 Visual Studio 偵錯工具視窗 (適用於工作和平行堆疊) 和並行視覺化檢視 (由 Visual Studio Application Lifecycle Management Profiler 中一組可供您偵錯和微調平行程式碼效能的檢視所組成) 的文件連結。

PLINQ 和 TPL 的自訂 Partitioner

說明 Partitioner 的運作方式,以及如何設定預設 Partitioner 或建立新的 Partitioner。

工作 Factory

說明 System.Threading.Tasks.TaskFactory 類別的角色。

工作排程器

說明排程器的運作方式以及如何設定預設排程器。

PLINQ 和 TPL 中的 Lambda 運算式

提供 C# 和 Visual Basic 中之 Lambda 運算式的簡短概觀,並且顯示如何在 PLINQ 和工作平行程式庫中使用這些運算式。

進一步閱讀 (平行程式設計)

提供以 .NET Framework 進行平行程式設計的其他文件和範例資源連結。

.NET Framework 進階開發

執行緒和平行程式設計等進階主題的最上層節點。

請參閱

其他資源

平行程式設計模式:了解及套用平行模式與 .NET Framework 4