Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Décrit les stratégies d’exécution pour les algorithmes parallèles.
Syntaxe
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 };
}
Classes et structs
| Nom | Description |
|---|---|
is_execution_policy Struct |
Détecte les stratégies d’exécution pour exclure certaines signatures de fonction d’une participation de résolution de surcharge ambiguë. |
parallel_policy, classe |
Utilisé pour lever l’ambiguïté des surcharges d’algorithmes parallèles. Indique que l’exécution d’un algorithme parallèle peut être parallélisée. |
parallel_unsequenced_policy, classe |
Utilisé comme type unique pour lever l’ambiguïté de la surcharge de l’algorithme parallèle. Indique que l’exécution d’un algorithme parallèle peut être parallélisée et vectorisée. |
sequenced_policy, classe |
Utilisé comme type unique pour lever l’ambiguïté de la surcharge de l’algorithme parallèle. Spécifie que l’exécution d’un algorithme parallèle peut ne pas être parallélisée. |
Section spécifique à Microsoft
Les algorithmes parallèles s’exécutent sur un nombre non spécifié de threads et divisent le travail en un nombre non spécifié de partitionnement de données « blocs ». Le pool de threads Windows gère le nombre de threads. L’implémentation tente d’utiliser les processeurs logiques disponibles, ce qui correspond au nombre de threads matériels pouvant s’exécuter simultanément.
Spécifier ou parallel_unsequenced_policy provoquer l’exécution parallel_policy d’algorithmes de bibliothèque standard en parallèle à l’aide du pool de threads Windows. Le nombre de threads simultanés, ainsi que le nombre de « blocs » pour le partitionnement de données, est limité à 500 threads, car il s’agit du nombre par défaut de threads de pool de threads. Pour plus d’informations, consultez Pools de threads.
Avant Windows 11 et Windows Server 2022, les applications étaient limitées par défaut à un seul groupe de processeurs ayant au maximum 64 processeurs logiques. Cela a limité le nombre de threads en cours d’exécution simultanée à 64. Pour plus d’informations, consultez Groupes de processeurs.
À compter de Windows 11 et Windows Server 2022, les processus et leurs threads ont des affinités de processeur qui s’étendent par défaut sur tous les processeurs du système et sur plusieurs groupes sur plusieurs ordinateurs avec plus de 64 processeurs. La limite du nombre de threads simultanés est désormais le nombre total de processeurs logiques dans le système.
Spécifications
En-tête : <execution>
Espace de noms : std
Voir aussi
Informations de référence sur les fichiers d’en-tête
Sécurité des threads dans la bibliothèque standard C++
Informations de référence sur la bibliothèque standard C++