共用方式為


<execution>

描述平行演算法的執行原則。

語法

namespace std {
    template<class T> inline constexpr bool is_execution_policy_v = is_execution_policy<T>::value;
}
namespace std::execution {
    inline constexpr sequenced_policy seq { unspecified };
    inline constexpr parallel_policy par { unspecified };
    inline constexpr parallel_unsequenced_policy par_unseq { unspecified };
}

類別和結構

名稱 描述
is_execution_policy 結構 偵測執行原則,以排除特定函式簽章,使其不明確多載解析參與。
parallel_policy 類別 用來釐清平行演算法多載。 表示平行演算法的執行可能會平行化。
parallel_unsequenced_policy 類別 做為唯一類型來釐清平行演算法多載。 表示平行演算法的執行可能會平行化和向量化。
sequenced_policy 類別 做為唯一類型來釐清平行演算法多載。 指定平行演算法的執行可能不會平行化。

Microsoft 特定的

平行演算法會在未指定的線程數目上執行,並將工作分割成未指定的數據分割「區塊」數目。Windows 線程集區會管理線程數目。 實作會嘗試使用可用的邏輯處理器,其對應於可同時執行的硬體線程數目。

指定 parallel_policyparallel_unsequenced_policy 會導致使用 Windows 線程集區平行執行標準連結庫演算法。 並行線程數目,因此數據分割的「區塊」數目限制為500個線程,因為這是線程集區線程的預設數目。 如需詳細資訊,請參閱 線程集區

在 Windows 11 和 Windows Server 2022 之前,應用程式預設受限於最多具有 64 個邏輯處理器的單一處理器群組。 這會將同時執行的線程數目限制為 64。 如需詳細資訊,請參閱 處理器群組

從 Windows 11 和 Windows Server 2022 開始,進程及其線程具有處理器親和性,依預設會跨越系統中的所有處理器,以及具有 64 個處理器的計算機上多個群組。 並行線程數目的限制現在是系統中邏輯處理器總數。

需求

標頭: <execution>

命名空間std

另請參閱

標頭文件參考
C++標準連結庫中的線程安全性
C++標準連結庫參考