Ағылшын тілінде оқу

Бөлісу құралы:


<execution>

Описывает политики выполнения для параллельных алгоритмов.

Синтаксис

C++
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 Используется в качестве уникального типа для разбиения параллельных алгоритмов перегрузки. Указывает, что выполнение параллельного алгоритма не может быть параллелизировано.

Только для систем Майкрософт

Параллельные алгоритмы выполняются на неопределенном количестве потоков и разделяют работу на неопределенное число секционирования данных "блоки". Пул потоков Windows управляет количеством потоков. Реализация пытается использовать доступные логические процессоры, соответствующие количеству аппаратных потоков, которые могут выполняться одновременно.

Указание parallel_policy или parallel_unsequenced_policy выполнение стандартных алгоритмов библиотеки выполняется параллельно с помощью пула потоков Windows. Число параллельных потоков и, следовательно, количество блоков для секционирования данных ограничено 500 потоками, так как это число потоков пула потоков по умолчанию. Дополнительные сведения см. в разделе "Пулы потоков".

До Windows 11 и Windows Server 2022 приложения по умолчанию были ограничены одной группой процессоров, имеющей не более 64 логических процессоров. Это ограничивает число одновременных выполнения потоков до 64. Дополнительные сведения см. в разделе "Группы обработчиков".

Начиная с Windows 11 и Windows Server 2022, процессы и их потоки имеют сходство процессоров, которые по умолчанию охватывают все процессоры в системе и между несколькими группами на компьютерах с более чем 64 процессорами. Ограничение числа параллельных потоков теперь составляет общее количество логических процессоров в системе.

Требования

Заголовок: <execution>

Пространство имен: std

См. также

Справочник по файлам заголовков
Безопасность потоков в стандартной библиотеке C++
Справочник по стандартной библиотеке C++