並行執行階段
C++ 的並行執行階段可協助您寫入強固、可擴充且回應靈敏的平行應用程式。 它會引發抽象的層級,讓您不需要管理並行存取相關的基礎結構詳細資料。 您也可以使用它來指定符合您應用程式服務需求品質的排程原則。 使用這些資源以協助您開始使用並行執行階段。
如需參考文件,請參閱 參考 (並行執行階段)。
提示
並行執行階段非常依賴 C++11 功能,並採用更現代的 C++ 樣式。若要進一步了解,請閱讀歡迎回到 C++ (現代 C++)。
選擇並行執行階段功能
教導為何並行執行階段很重要,並說明其重要功能。 |
|
顯示並行執行階段如何與其他並行模型進行比較,例如 Windows 執行緒集區和 OpenMP,以讓您可以使用最符合您應用程式需求的並行存取模型。 |
|
比較 OpenMP 與並行執行階段,並提供有關如何移轉現有的 OpenMP 程式碼以使用並行執行階段的範例。 |
|
為您介紹提供平行迴圈、工作和平行容器的 PPL。 |
|
為您介紹如何使用非同步代理程式和訊息傳遞來輕鬆地將資料流程與流水線操作工作納入您的應用程式中。 |
|
為您介紹工作排程器,可讓您微調使用並行執行階段的桌面應用程式的效能。 |
PPL 中的工作平行處理原則
描述工作和工作群組,可協助您撰寫非同步程式碼並將平行工作分解成較小的片段。 |
|
示範如何結合並行執行階段功能以做到更多。 |
|
顯示如何將 MFC 應用程式中的 UI 執行緒所執行的工作移至背景工作執行緒。 |
|
提供使用 PPL 的秘訣和最佳作法。 |
PPL 中的資料平行處理原則
描述 parallel_for、parallel_for_each、parallel_invoke,和其他平行演算法。 使用平行演算法來解決牽涉到資料集合的「資料平行」 (data parallel) 問題。 |
|
描述 combinable 類別,以及 concurrent_vector、concurrent_queue、concurrent_unordered_map,和其他平行容器。 當您需要提供安全執行緒存取其項目的容器時,請使用平行容器和物件。 |
|
提供使用 PPL 的秘訣和最佳作法。 |
取消工作和平行演算法
描述 PPL 中取消的角色,包括如何起始和回應取消的要求。 |
|
示範兩種用來取消資料平行工作的方式。 |
Windows 市集應用程式
描述一些當您在 Windows 市集 應用程式中使用並行執行階段產生非同步作業時務必牢記的重要觀念。 |
|
示範如何結合將 PPL 與 IXMLHTTPRequest2 和 IXMLHTTPRequest2Callback 介面結合以將 HTTP GET 和 POST 要求傳送至 Windows 市集 應用程式中的 Web 服務。 |
|
包含 Windows 8 的可下載程式碼範例和示範應用程式。 C + + 範例使用並行執行階段功能 (例如 PPL 工作) 來處理在背景中的資料以保留 UX 的回應性。 |
非同步代理程式程式庫中的資料流程程式撰寫
描述非同步代理程式、訊息區塊與訊息傳遞功能,也就是在並行執行階段中執行資料流程作業的建置組塊。 |
|
示範如何建立基本的代理程式應用程式。 |
|
示範如何建立執行映像處理的非同步訊息區的網路。 |
|
使用哲學家用餐問題,說明如何使用並行執行階段避免應用程式中的死結。 |
|
示範如何建立依優先順序排序內送訊息的自訂訊息區塊類型。 |
|
提供使用代理程式的秘訣和最佳作法。 |
例外狀況處理和偵錯
描述如何使用並行執行階段中的例外狀況。 |
|
教您如何微調您的應用程式及充分有效地運用並行執行階段。 |
微調效能
教您如何微調您的應用程式及充分有效地運用並行執行階段。 |
|
示範如何使用管理排程器執行個體和排程器原則。 針對桌面應用程式,排程器原則可讓您將特定的規則與特定類型的工作負載產生關聯。 例如,您可以建立一個排程器執行個體,在高權限的執行緒優先順序上執行一些工作,並使用預設排程器在正常的執行緒優先順序上執行其他工作。 |
|
示範如何使用排程群組來同質化、或是將相關的工作分組在一起。 例如,當工作受益於在相同處理器節點上執行時,相關工作之間可能需要較高程度的的位置。 |
|
說明輕量型工作如何有用地建立不需要負載平衡或取消的工作,以及其同時也有用地調整現有的程式碼,以搭配並行執行階段的工作。 |
|
描述如何由並行執行階段控制的執行緒行為。 |
|
描述可協助您以並行方式配置和釋放記憶體並行執行階段記憶體的管理函式。 |
其他資源
了解我們如何使用並行執行階段來實作 Hilo (使用 C++ 和 XAML 的 Windows 市集 應用程式) 中的非同步作業。 |
|
提供示範並行執行階段的範例應用程式和公用程式。 |
|
提供有關在並行執行階段中之平行程式設計的其他深入部落格文章。 |
|
讓您參與有關並行執行階段的社群討論。 |
|
教導您有關可用於 .NET Framework 的平行程式設計模型。 |