Freigeben über


<execution>

Beschreibt die Ausführungsrichtlinien für parallele Algorithmen.

Syntax

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 };
}

Klassen und Strukturen

Name Beschreibung
is_execution_policy Struktur Erkennt Ausführungsrichtlinien, um bestimmte Funktionssignaturen von anderen mehrdeutigen Überladungsauflösungsbeteiligungen auszuschließen.
parallel_policy-Klasse Wird verwendet, um die parallele Algorithmusüberladung zu disambiguieren. Gibt an, dass die Ausführung eines parallelen Algorithmus parallelisiert werden kann.
parallel_unsequenced_policy-Klasse Wird als eindeutiger Typ verwendet, um parallele Algorithmusüberladungen zu disambiguieren. Gibt an, dass die Ausführung eines parallelen Algorithmus parallelisiert und vektorisiert werden kann.
sequenced_policy-Klasse Wird als eindeutiger Typ verwendet, um parallele Algorithmusüberladungen zu disambiguieren. Gibt an, dass die Ausführung eines parallelen Algorithmus möglicherweise nicht parallelisiert wird.

Microsoft-spezifisch

Parallele Algorithmen werden in einer nicht angegebenen Anzahl von Threads ausgeführt und teilen die Arbeit in eine nicht angegebene Anzahl von Datenpartitionierungsblöcken auf. Der Windows-Threadpool verwaltet die Anzahl der Threads. Die Implementierung versucht, die verfügbaren logischen Prozessoren zu verwenden, was der Anzahl der Hardwarethreads entspricht, die gleichzeitig ausgeführt werden können.

Angeben parallel_policy oder parallel_unsequenced_policy bewirkt, dass Standardbibliothekalgorithmen parallel mit dem Windows-Threadpool ausgeführt werden. Die Anzahl der gleichzeitigen Threads und damit die Anzahl der "Blöcke" für die Datenpartitionierung ist auf 500 Threads beschränkt, da dies die Standardanzahl von Threadpoolthreads ist. Weitere Informationen finden Sie unter Threadpools.

Vor Windows 11 und Windows Server 2022 waren Anwendungen standardmäßig auf eine einzelne Prozessorgruppe mit höchstens 64 logischen Prozessoren beschränkt. Dadurch wird die Anzahl der gleichzeitig ausgeführten Threads auf 64 beschränkt. Weitere Informationen finden Sie unter Prozessorgruppen.

Ab Windows 11 und Windows Server 2022 verfügen Prozesse und deren Threads über Prozessoraffinitäten, die standardmäßig alle Prozessoren im System und mehrere Gruppen auf Computern mit mehr als 64 Prozessoren umfassen. Der Grenzwert für die Anzahl gleichzeitiger Threads ist nun die Gesamtanzahl der logischen Prozessoren im System.

Anforderungen

Header: <execution>

Namespace:std

Siehe auch

Referenz zu Headerdateien
Threadsicherheit in der C++-Standardbibliothek
C++-Standardbibliotheksreferenz