共用方式為


工作排程器 (並行執行階段)

文件的此章節中的主題說明並行執行階段工作排程器的重要功能。 當您要微調使用並行執行階段之現有程式碼的效能時,工作排程器很實用。

重要

工作排程器會從 Windows 市集 應用程式無法使用。如需詳細資訊,請參閱使用 C++ 為 Windows 市集應用程式建立非同步作業

提示

並行執行階段提供了預設排程器,因此您不需要在應用程式中建立排程器。因為工作排程器有助於微調應用程式效能,如果您是並行執行階段的新使用者,建議請從平行模式程式庫 (PPL)非同步代理程式程式庫開始。

工作排程器可在執行階段排定和協調工作。 「工作」(Task) 是執行特定工作的工作單位。 工作通常可以和其他工作平行執行。 由工作群組項目、平行演算法和非同步代理程式所執行的工作,都算是工作的一種。

工作排程器可對具有多項運算資源的電腦,管理其有效排程工作的相關細節。 工作排程器也可使用基礎作業系統的最新功能。 因此,使用並行執行階段的應用程式,會自動調整及改善功能有所擴充的硬體。

比較並行執行階段和其他並行模型可說明先佔式和合作式排程機制之間的差異。 工作排程器可使用合作式排程及工作竊取演算法,再搭配作業系統的先佔式排程器,來達成處理資源的最大使用量。

並行執行階段所提供的預設排程器,可讓您無須管理基礎結構細節。 因此,您通常不會直接使用工作排程器。 但若要達到您對應用程式的品質要求,您可以使用工作排程器提供自己的排程原則,或建立特定排程器與特定工作的關聯。 例如,假設有延展性不超過四個處理器的平行排序常式。 您可以使用「排程器原則」(Scheduler Policy),建立會產生不超過四個並行工作的排程器。 在此排程器上執行排序常式,可讓其他使用中排程器使用任何其餘的處理資源。

相關主題

標題

描述

排程器執行個體

說明排程器執行個體,以及如何使用 concurrency::Schedulerconcurrency::CurrentScheduler 類別管理它們。 當您要為明確的排程原則與特定類型的工作負載建立關聯時,請使用排程器執行個體。

排程器原則

說明排程器原則的角色。 當您要控制排程器在管理工作時所使用的策略,請使用排程器原則。

排程群組

說明排程群組的角色。 當工作之間需要有高程度的地域性,例如當相關工作群組可從執行於相同處理器節點獲益時,請使用排程群組。

輕量型工作

說明輕量型工作的角色。 當您改寫現有程式碼以使用並行執行階段的排程功能時,輕量型工作非常有用。

內容

說明內容的角色、concurrency::wait 函式和 concurrency::Context 類別。 當您要控制何時內容封鎖、解除封鎖及讓渡時,或當您要在應用程式中啟用過度訂閱時,請使用此功能。

記憶體管理函式

說明 concurrency::Allocconcurrency::Free 函式。 這些函式會以並行方式配置和釋放記憶體,藉以改善記憶體效能。

比較並行執行階段和其他並行模型

說明先佔式和合作式排程機制之間的差異。

平行模式程式庫 (PPL)

說明如何在您的應用程式中使用不同的平行模式,例如平行演算法。

非同步代理程式程式庫

說明如何在您的應用程式中使用非同步代理程式。

並行執行階段

描述「並行執行階段」,它可以簡化平行程式設計工作,而且包含相關主題的連結。