任務並行庫(TPL)是一組在System.Threading和System.Threading.Tasks命名空間中的公用類型和 API。 TPL 的目的是透過簡化將平行處理和並行功能新增至應用程式的過程,提升開發人員的工作效率。 TPL 會動態調整並行程度,以最有效率地使用所有可用的處理器。 此外,TPL 會處理工作分割、線程的 ThreadPool 排程、取消支援、狀態管理以及其他低階細節。 藉由使用 TPL,您可以最大化程式代碼的效能,同時專注於程式設計完成的工作。
在 .NET Framework 4 中,TPL 是撰寫多線程和平行程式代碼的慣用方法。 不過,並非所有程式代碼都適合平行處理。 例如,如果迴圈在每次反覆專案上只執行少量的工作,或不會針對許多反覆項目執行,則平行處理的額外負荷可能會導致程式代碼執行速度較慢。 此外,平行處理就像任何多線程程式代碼一樣,會增加程序執行的複雜性。 雖然 TPL 可簡化多線程案例,但建議您對線程概念有基本的瞭解,例如鎖定、死結和競爭條件,讓您可以有效地使用 TPL。
相關文章
標題 | 說明 |
---|---|
數據平行處理原則 | 描述如何建立平行 for 和 foreach 迴圈(在 Visual Basic 中的 For 和 For Each )。 |
以任務導向的異步程式設計 | 描述如何使用 Parallel.Invoke 以隱含方式或直接使用 Task 物件,以明確方式建立和執行工作。 |
數據流 | 描述如何使用 TPL 數據流連結庫中的數據流元件來處理多個作業。 這些作業必須彼此通訊,並在數據可供使用時進行處理。 |
數據與工作平行處理原則的潛在陷阱 | 描述一些常見的陷阱,以及如何避免這些陷阱。 |
並行 LINQ (PLINQ) | 描述如何使用LINQ查詢來達成數據平行處理原則。 |
平行程式設計 | .NET 平行程序設計的最上層節點。 |
另請參閱
- 使用 .NET Core & .NET Standard 進行平行程序設計的 範例