Compartilhar via


<execution>

Descreve as políticas de execução para algoritmos paralelos.

Sintaxe

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 e structs

Nome Descrição
Struct is_execution_policy Detecta políticas de execução para excluir assinaturas de função da participação de resolução de sobrecarga ambígua.
parallel_policy classe Usado para desambiguar a sobrecarga de algoritmo paralelo. Indica que a execução de um algoritmo paralelo pode ser paralelizada.
parallel_unsequenced_policy classe Usado como um tipo exclusivo para desambiguar a sobrecarga de algoritmo paralelo. Indica que a execução de um algoritmo paralelo pode ser paralelizada e vetorizada.
sequenced_policy classe Usado como um tipo exclusivo para desambiguar a sobrecarga de algoritmo paralelo. Especifica que a execução de um algoritmo paralelo não pode ser paralelizada.

específica da Microsoft

Algoritmos paralelos são executados em um número não especificado de threads e dividem o trabalho em um número não especificado de "pedaços" de particionamento de dados. O pool de threads do Windows gerencia o número de threads. A implementação tenta fazer uso dos processadores lógicos disponíveis, o que corresponde ao número de threads de hardware que podem ser executados simultaneamente.

Especificar parallel_policy ou parallel_unsequenced_policy faz com que algoritmos de biblioteca padrão sejam executados em paralelo usando o Pool de Threads do Windows. O número de threads simultâneos e, portanto, o número de "partes" para particionamento de dados, é limitado a 500 threads porque esse é o número padrão de threads do pool de threads. Para obter mais informações, consulte Pools de threads.

Antes do Windows 11 e do Windows Server 2022, os aplicativos eram limitados por padrão a um único grupo de processadores com no máximo 64 processadores lógicos. Isso limitou o número de threads em execução simultânea a 64. Para obter mais informações, consulte Grupos de processadores.

A partir do Windows 11 e do Windows Server 2022, os processos e seus threads têm afinidades de processador que, por padrão, abrangem todos os processadores no sistema e em vários grupos em computadores com mais de 64 processadores. O limite do número de threads simultâneos agora é o número total de processadores lógicos no sistema.

Requisitos

Cabeçalho: <execution>

Namespace: std

Confira também

Referência de arquivos de cabeçalho
Acesso thread-safe na biblioteca C++ Standard
Referência da biblioteca padrão do C++