以 .NET Framework 進行平行程式設計
許多個人電腦和工作站都具有兩個或四個核心 (即 CPU),而能夠同時執行多個執行緒。 不久的將來,電腦應該會具有更多的核心。 若要利用現今和未來的硬體優勢,您可以將您的程式碼平行化,以便將工作分散到多個處理器。 在過去,平行化作業需要在低階操作執行緒和鎖定。 Visual Studio 2010 和 .NET Framework 4 提供了新的執行階段、新的類別庫型別和新的診斷工具,以加強支援平行程式設計。 這些功能簡化了平行開發作業,讓您能夠利用簡單常見的語法,撰寫效率高、精細且具彈性的平行程式碼,而不需要直接使用執行緒或執行緒集區。 下圖提供 .NET Framework 4 中平行程式設計架構的高階概觀。
相關主題
技術 |
說明 |
---|---|
提供 System.Threading.Tasks.Parallel 類別 (包含平行版本的 For 和 ForEach 迴圈) 及 System.Threading.Tasks.Task 類別 (表示表達非同步作業較好的方式) 的文件。 |
|
平行實作的 LINQ to Objects,在許多情節中可大幅改善效能。 |
|
提供安全執行緒集合類別、輕量型同步處理類型和延遲初始設定類型的文件連結。 |
|
提供 Visual Studio 偵錯工具視窗 (適用於工作和平行堆疊) 和並行視覺化檢視 (由 Visual Studio Application Lifecycle Management Profiler 中一組可供您偵錯和微調平行程式碼效能的檢視所組成) 的文件連結。 |
|
說明 Partitioner 的運作方式,以及如何設定預設 Partitioner 或建立新的 Partitioner。 |
|
說明 System.Threading.Tasks.TaskFactory 類別的角色。 |
|
說明排程器的運作方式以及如何設定預設排程器。 |
|
提供 C# 和 Visual Basic 中之 Lambda 運算式的簡短概觀,並且顯示如何在 PLINQ 和工作平行程式庫中使用這些運算式。 |
|
提供以 .NET Framework 進行平行程式設計的其他文件和範例資源連結。 |
|
執行緒和平行程式設計等進階主題的最上層節點。 |