Пространство имен concurrency
Пространство имен concurrency предоставляет классы и функции, которые обеспечивают доступ со средой выполнения с параллелизмом представляет собой платформу параллельного программирования для с++.Дополнительные сведения см. в разделе Среда выполнения с параллелизмом.
namespace concurrency;
Члены
Определения типов
Имя |
Описание |
---|---|
runtime_object_identity |
Каждый экземпляр сообщения имеет идентификацию, которая сопутствует ему по мере клонирования и передачи между компонентами обмена сообщениями.Это не может быть адрес объекта сообщения. |
task_status |
Тип, представляющий результирующее состояние задачи.Допустимые значения: completed и canceled. |
TaskProc |
Элементарная абстракция для задачи, определенная как void (__cdecl * TaskProc)(void *).TaskProc вызывается для вызова основного текста задачи. |
Классы
Имя |
Описание |
---|---|
Класс affinity_partitioner аналогичен классу static_partitioner, однако он повышает сходство кэша по выбором поддиапазонов сопоставления с рабочими потоками.Он может значительно повысить производительность при выполнении цикла re- по одним и тем же набором данных, и соответствия данных в кэше.Обратите внимание, что один и тот же объект affinity_partitioner следует использовать с последующими итерациями параллельного цикла, который выполняется над указанным набором данных, извлекал использование локальность данных. |
|
Класс предназначен для использования как базовый класс для всех независимых агентов.Он используется, чтобы скрыть состояние из других агентов и взаимодействия с использованием сообщение- передачи. |
|
Класс auto_partitioner представляет используемый по умолчанию метод parallel_for, parallel_for_each и использование parallel_transform разделить диапазон они итерацию.Этот метод employes диапазона секционирования крадя для распределения нагрузки, а также в- проходит отмену. |
|
Этот класс штриховой описывает исключение, если блок обмена сообщениями, то указатель к целевому объекту, недопустимый для выполняемой операции. |
|
Блок обмена сообщениями call — многоисточниковый, упорядоченный target_block, который вызывает заданную функцию при приеме сообщения. |
|
Класс cancellation_token представляет возможность определить, получен ли некоторая операция отменяет. |
|
Класс cancellation_token_registration представляет уведомления обратного вызова от cancellation_token. |
|
Класс cancellation_token_source представляет возможность отменить операцию. |
|
Блок сообщений choice — многоисточниковый одноцелевой блок, который представляет взаимодействие потока управления с набором источников.Блок выбора будет ожидать любой из нескольких источников для создания сообщения и распространит индекс источника, создавшего сообщение. |
|
Объект combinable<T> предназначен для предоставления потокозакрытых копий данных для выполнения свободных от блокировок потоколокальных подвычислений в процессе параллельных алгоритмов.В конце параллельной операции потокозакрытые подвыражения могут быть объединены в окончательный результат.Этот класс может использоваться вместо общей переменной и может привести к улучшение производительности, если бы иначе на общей переменной была сильная конкуренция. |
|
Класс concurrent_priority_queue контейнер, который позволяет несколько потоков одновременно помещает в и извлекает элементы.Элементы извлекаются в порядке приоритета, на котором определен приоритет functor заданный как аргумент шаблона. |
|
Класс concurrent_queue является классом-контейнером последовательности, позволяющим доступ "первый вошел — первый вышел" к его элементам.Он включает ограниченный набор параллелизм- безопасных операций, например push и try_pop. |
|
Класс concurrent_unordered_map параллелизм- безопасный контейнер, который отслеживает последовательность менять- длины элементов типа std::pair<const _Key_type, _Element_type>.Последовательность представлена способом, который включает параллелизм- безопасные добавить к элемента к итератора и прохождения итератора. |
|
Класс concurrent_unordered_multimap параллелизм- безопасный контейнер, который отслеживает последовательность менять- длины элементов типа std::pair<const _Key_type, _Element_type>.Последовательность представлена способом, который включает параллелизм- безопасные добавить к элемента к итератора и операции прохождения итератора. |
|
Класс concurrent_unordered_multiset параллелизм- безопасный контейнер, который отслеживает последовательность менять- длину элементов _Key_type типа.Последовательность представлена способом, который включает параллелизм- безопасные добавить к элемента к итератора и операции прохождения итератора. |
|
Класс concurrent_unordered_set параллелизм- безопасный контейнер, который отслеживает последовательность менять- длину элементов _Key_type типа.Последовательность представлена способом, который включает параллелизм- безопасные добавить к элемента к итератора и операции прохождения итератора. |
|
Класс concurrent_vector является классом-контейнером последовательности, позволяющим произвольный доступ к любому элементу.Он включает параллелизм- безопасные добавить к элемента к итератора и прохождения итератора. |
|
Представляет абстракцию контекста выполнения. |
|
Этот класс штриховой описывающее исключение, когда метод Unblock объекта Context вызывается из одного и того же контекста.Это означает попытку данного контекста снять с себя блокировку. |
|
Этот класс штриховой описывающее исключение, если вызовы методов Block и Unblock объекта Context неправильно связыванны. |
|
Не реентрабельный мьютекс, который учитывает явным образом среду параллелизма. |
|
Представляет абстракцию для текущего планировщика, связанного с вызывающим контекстом. |
|
Этот класс штриховой описывающее исключение, когда метод Scheduler::SetDefaultSchedulerPolicy вызывается, когда планировщик по умолчанию уже существует в рамках процесса. |
|
Событие ручного сброса, которое учитывает явным образом среду параллелизма. |
|
Этот класс содержит штриховой исключение, когда блокировка приобретена неправильно. |
|
Этот класс штриховой описывающее исключение, когда метод Attach вызывается на объекте Scheduler, который уже вложен в текущий контекст. |
|
Этот класс штриховой описывающее исключение, когда метод CurrentScheduler::Detach вызывается в контексте, который не был вложен в любой планировщику с помощью метода Attach объекта Scheduler. |
|
Этот класс штриховой описывающее исключение, когда метод Reference вызывается на объекте Scheduler, который отключает от контекста, который не является частью этого планировщика. |
|
Этот класс штриховой описанием исключения при вызове метода link_target блока обмена сообщениями и блок обмена сообщениями не может связать к целевому объекту.Это может быть результатом превышения числа ссылок блок обмена сообщениями, разрешено или предпринята попытка связать определенный целевой объект дважды к одному и тому же источнику. |
|
Этот класс штриховой описывает исключение, если объект task_handle запланирован несколько раз с помощью метода run объекта task_group или не вмешиваясь в structured_task_group вызова или методам wait или run_and_wait. |
|
Этот класс штриховой описывающее исключение при недопустимой операции, более точно не описана другим типом исключения возникновению средой выполнения с параллелизмом. |
|
Этот класс штриховой описывающее исключение, когда метод Context::Oversubscribe вызывается с параметром _BeginOversubscription до прежнего false без вызова метода Context::Oversubscribe с параметром _BeginOversubscription установлен true. |
|
Этот класс штриховой описывает исключение, если недопустимый или неизвестный ключ передается конструктору объекта SchedulerPolicy или метод SetPolicyValue объекта SchedulerPolicy передается ключом, который необходимо изменить, используя другие значения, как метод SetConcurrencyLimits. |
|
Этот класс штриховой описывающее исключение при попытке задать ограничения параллелизма объекта SchedulerPolicy те, что значение ключа MinConcurrency, чем значение ключа MaxConcurrency. |
|
Этот класс штриховой описывающее исключение, когда ключ политики объекта SchedulerPolicy ему присваивается недопустимое значение для этого ключа. |
|
Класс ISource является интерфейсом для всех исходных блоков.Блоки источников распространяют сообщения блокам ITarget. |
|
Класс ITarget является интерфейсом для всех целевых блоков.Целевые блоки потребляют сообщения, предлагаемые им блоками ISource. |
|
Блок сообщений join — многоисточниковый одноцелевой упорядоченный propagator_block, который сочетает сообщения типа _Type от каждого из своих источников. |
|
Абстракция фактического месторасположения на оборудовании. |
|
Основной конверт сообщения, содержащий полезную нагрузку данных, передаваемую между блоками обмена сообщениями. |
|
Этот класс штриховой описывает исключение, если блок обмена сообщениями не удается найти сообщение. |
|
Класс message_processor является абстрактным базовым классом для обработки объектов message.Нет никакой гарантии на порядок сообщений. |
|
Этот класс штриховой описывающее исключение, если задачи по-прежнему запланированные к объекту task_group или structured_task_group, деструктор объекта во время выполнения.Это исключение создается, если деструктор никогда не будет достигнут из-за стека разматывая в результате исключения. |
|
Объект multi_link_registry — это network_link_registry, который управляет несколькими исходными блоками или несколькими целевыми блоками. |
|
Блок сообщений multitype_join — многоисточниковый одноцелевой упорядоченный блок сообщений, который сочетает сообщения различных типов от каждого из своих источников и предлагает целевым объектам кортеж объединенных сообщений. |
|
Этот класс штриховой описанием исключения, когда среда выполнения с параллелизмом обнаруживает, что упустили вызвать метод CurrentScheduler::Detach в контексте, вложил ко второму планировщику с помощью метода Attach объекта Scheduler. |
|
Абстрактный базовый класс network_link_registry управляет связями между исходными и целевыми блоками. |
|
Этот класс штриховой описывающее исключение, когда операция приурочивала ожидания. |
|
ordered_message_processor является message_processor, позволяющим блокам сообщений обрабатывать сообщения в том порядке, в котором они были получены. |
|
Блок сообщений overwrite_buffer — многоцелевой, многоисточниковый, упорядоченный propagator_block, способный хранить одно сообщение за раз.Новые сообщения перезаписывают предыдущие. |
|
Класс репортера " ход выполнения " предоставляет уведомления о ходе выполнения отчета определенного типа.Каждый объект progress_reporter, привязанный к указанным асинхронным действием или операции. |
|
Класс propagator_block является абстрактным базовым классом для блоков сообщений, которые одновременно исходные и целевые.Объединяет функциональные возможности обоих классов source_block и target_block. |
|
Блокировка чтения-записи на основе очереди с предпочтением записи со строго локальной циклической работой.Блокировка предоставляет доступ "первым вошел — первым вышел" для писателей и исключает доступ читателей под постоянной нагрузкой со стороны писателей. |
|
Представляет абстракцию группы расписания.Группы расписаний организуют набор связанных работ, которые дают преимущества планирования вблизи друг от друга, выполняя другую задачу в той же группе перед перемещением другую группу или пространственно, выполняя несколько элементов в пределах одной и той же группы на одном узле NUMA или физическом сокете. |
|
Представляет абстракцию для планировщика среды параллелизма. |
|
Этот класс штриховой описывающее исключение при выполнении операции, требующей, что планировщик вложен к текущему контексту, а другой - нет. |
|
Этот класс содержит штриховой исключение из-за сбоя получить критические ресурсы среды выполнения с параллелизмом. |
|
Этот класс содержит штриховой исключение из-за сбоя создания контекста выполнения работы среды выполнения с параллелизмом. |
|
Класс SchedulerPolicy содержит набор пар "ключ—значение", одна для каждого элемента политики, контролирующего поведение экземпляра планировщика. |
|
Класс simple_partitioner представляет собой статическое разделение диапазона повторенного кроме parallel_for.Модуль разделения разделяет диапазон в блоки так, что каждый блок содержит хотя бы число итераций, заданных размера блока. |
|
Блок сообщений single_assignment — многоцелевой, многоисточниковый, упорядоченный propagator_block, способный хранить одно записываемое один раз message. |
|
Объект single_link_registry — это network_link_registry, управляющий только одним исходным или целевым блоком. |
|
Класс source_block является абстрактным базовым классом для блоков, являющихся только источниками.Класс предоставляет основные функциональные возможности управления ссылками, а также распространенные проверки ошибок. |
|
Объект source_link_manager управляет ссылками сети блока сообщений на блоки ISource. |
|
Класс static_partitioner представляет собой статическое разделение диапазона повторенного кроме parallel_for.Модуль разделения разделяет диапазон столько блоков как рабочие, доступные для underyling планировщику. |
|
Класс structured_task_group представляет высокоструктурированную коллекцию параллельной работы.Отдельные параллельные задачи можно ставить в очередь structured_task_group с помощью объектов task_handle и дождаться их завершения или отменить группу задач до завершения их выполнения, что прервет все задачи, которые не начали выполнение. |
|
Класс target_block является абстрактным базовым классом, который предоставляет основные функции управления ссылками и проверку ошибок для блоков, являющихся только целевыми. |
|
Класс task библиотека параллельных шаблонов (PPL).Объект task представляет работы, может быть выполнена асинхронно и параллельно с другими задачами и параллельные созданных параллельными алгоритмами работы среды выполнения с параллелизмом.Он предоставляет типа _ResultType при успешном завершении.Задачи типа task<void> не получает никакого.Задачу можно отменить ожидание и независимо от других задач.Ее также можно сочетать с другими задачами с помощью продолжения (then), а соединение (when_all) и выберите шаблоны (when_any). |
|
Этот класс штриховой задачами PPL описывающее исключение наслаивает для принудительного выполнения текущей задачи отменены.Она также возникает методом get() на задача, отмененной задачи. |
|
Класс task_completion_event позволяет отложить выполнение задач до тех пор, пока условие не удовлетворяется или запускать задачу в ответ на внешнее событие. |
|
Класс task_continuation_context позволяет указать, где требуется продолжение должно быть выполнено.Полезно только использовать этот класс, производный от приложения в стиле Metro.Для приложений, отличного от стиля Seattle, контекст выполнения продолжения задачи определяется средой выполнения и не настраивается. |
|
Класс task_group представляет коллекцию параллельные работы которые могут подождать или быть отменена. |
|
Класс task_handle представляет отдельный параллельный рабочий элемент.Он инкапсулирует инструкции и данные, необходимые для выполнения части работы. |
|
Блок сообщений timer — это одноцелевой source_block, способный отправлять сообщение цели по истечении указанного периода времени или через определенные интервалы. |
|
Блок сообщений transformer — одноцелевой многоисточниковый упорядоченный propagator_block, который может принимать сообщения одного типа и способен хранить неограниченное число сообщений другого типа. |
|
Блок сообщений unbounded_buffer — многоцелевой, многоисточниковый, упорядоченный propagator_block, способный хранить неограниченное число сообщений. |
|
Этот класс штриховой описывающее исключение, если неподдерживаемая операционная система используется.Среда параллелизма не поддерживает версии операционных систем до Windows XP с пакетом обновления 3 (SP3). |
Структуры
Имя |
Описание |
---|---|
Структура DispatchState используется для передачи состояния методу IExecutionContext::Dispatch.Он описывает обстоятельства, под которыми вызывается метод Dispatch на интерфейсе IExecutionContext. |
|
Интерфейс для контекста выполнения, которые можно запускать на данный виртуальный процессор и доступный для совместного переключения контекста. |
|
Абстракция для аппаратного потока. |
|
Интерфейс к диспетчеру ресурсов среды параллелизма.Это интерфейс, по которому планировщики взаимодействовать с диспетчер ресурсов. |
|
Интерфейс к абстракции планировщика работы.Диспетчер ресурсов среды параллелизма использует этот интерфейс для связи с планировщиками работы. |
|
Интерфейс, по которому планировщики взаимодействуют со средой параллелизма диспетчера ресурсов для согласования выделения ресурсов. |
|
Абстракция для потока выполнения.В зависимости от создаваемого ключа политики SchedulerType планировщика, диспетчер ресурсов будет предоставить прокси-поток, который основывается на регулярном потоке Win32 или потоком, планируемым в режиме пользователя (UMS).UMS потоки являются поддерживаемыми в 64-разрядных операционных системах, начиная с Windows 7 и выше. |
|
Интерфейс к ресурсу выполнения в соответствии с диспетчером ресурсов. |
|
Интерфейс для узла топологии в соответствии с диспетчером ресурсов.Узел содержит один или более ресурсов выполнения. |
|
Представляет список завершения UMS.Когда UMS поток блокируется, назначенный контекст планирования планировщика запускается для принятия решения, что запланировать на базовый корень виртуального процессора, пока исходный поток заблокирован.Когда разблокируется исходный поток, операционная система ставит его в очередь списка завершения, которое доступен через этот интерфейс.Планировщик может запросить список завершения на назначенный планирования контекст или любое другое место, в котором он ищет работу. |
|
Интерфейс к абстракции планировщика работы, который хочет, чтобы диспетчер ресурсов среда параллелизма передал ему планируемые пользовательским режимом потоки (UMS).Диспетчер ресурсов использует этот интерфейс для связи с планировщиками UMS-потоков.Интерфейс IUMSScheduler наследует от интерфейса IScheduler. |
|
Абстракция для потока выполнения.Если требуется, чтобы планировщик предоставлять запланированные пользовательского режимом потоков (UMS), задайте значение для элемента политики планировщика SchedulerKind как UmsThreadDefault и реализуйте интерфейс IUMSScheduler.UMS потоки являются только поддерживаемыми в 64-разрядных операционных системах, начиная с Windows 7 и выше. |
|
Представляет уведомление от диспетчера ресурсов, что прокси поток, который заблокирован и запустил возврат к назначенному планирования контексту планировщика, разблокирован и готов для планирования.Этот интерфейс является недопустимым после перепланирования связанного контекста выполнения прокси-потока, возвращенного из метода GetContext. |
|
Абстракция для аппаратного потока, на котором может выполняться прокси-поток. |
Перечисления
Имя |
Описание |
---|---|
Допустимые состояния для agent. |
|
Типы событий, которые можно отслеживать с помощью функции трассировки предложили библиотекой агентов |
|
Типы событий, которые могут быть отслежены при использовании возможности трассировки, предоставляемой средой параллелизма. |
|
Флаги трассировки для типов событий |
|
Тип критической области, в которой контекст находится. |
|
Используется политикой DynamicProgressFeedback для описания, будет ли быть перебалансированы ресурсы для планировщика согласно статистическим сведениям, собранным из планировщика или только на основе виртуальных процессоров, переходящих из и в состояния простоя через вызовы методов Activate и Deactivate на интерфейсе IVirtualProcessorRoot.Дополнительные сведения о доступных политиках планировщиков см. в разделе Перечисление PolicyElementKey. |
|
Тип блока сообщений join. |
|
Допустимые ответы для предложения объекта message к блоку. |
|
Ключи политики, описывающие аспекты поведения планировщика.Каждый элемент политики описан парой ключ значение.Для получения дополнительных сведений о политиках планировщика и их влияние на планировщики см. раздел Планировщик задач (среда выполнения с параллелизмом). |
|
Используется политикой SchedulerKind для описания типа потоков, которые следует использовать планировщику для базовых контекстов выполнения.Дополнительные сведения о доступных политиках планировщиков см. в разделе Перечисление PolicyElementKey. |
|
Используется политикой SchedulingProtocol для описания, какой алгоритм планирования будет использоваться для планировщика.Дополнительные сведения о доступных политиках планировщиков см. в разделе Перечисление PolicyElementKey. |
|
Используется для обозначения состояния прокси-потока, когда он выполняет совместное контекстное переключение на другой прокси-поток. |
|
Описывает состояние выполнения объекта task_group или structured_task_group.Значение этого типа возвращается многочисленные методами, которые ожидают выполнения заданий, назначенных группе задач. |
|
Используется политикой WinRTInitialization для описания, что и окна среды выполнения инициализируются в потоках планировщика для приложения, работающего в операционных системах Windows версии 8 или выше.Дополнительные сведения о доступных политиках планировщиков см. в разделе Перечисление PolicyElementKey. |
Функции
Имя |
Описание |
---|---|
Выделяет блок памяти размером определенного от параллелизма кэширования Suballocator времени выполнения. |
|
Перегружен.Операция асинхронной передачи, которая планирует задачу для распространения данных в целевой блок. |
|
Отменяет в настоящий момент задача.Эту функцию можно вызывать из тела задачи прервать выполнение задачи и привести к тому, что она переходит в состояние canceled.Пока он может быть использован в ответ на функцию is_task_cancellation_requested можно также использовать отдельно, чтобы инициировать отмену задачи, которая выполняется в данный момент. Не является поддерживаемым сценария для вызова эта функция если вы не в теле task.Это приведет к созданию неназначенной расширения функциональности, как после сбоя или представление в приложении. |
|
Создает конструкцию среды выполнения асинхронной предоставленного пользователем windows, основанную на объекте lambda или функции.Возвращаемый тип create_async одно из IAsyncAction^ или IAsyncActionWithProgress<TProgress>^, IAsyncOperation<TResult>^ или IAsyncOperationWithProgress<TResult, TProgress>^ на основе подписи лямбда-выражения, переданного методу. |
|
Перегружен.Создает объект PPL задача.create_task можно использовать везде, бы конструктор, используемый задачи.Защищается главным образом для удобства, так как она допускает использование ключевого слова auto при создании задает действие. |
|
Возвращает интерфейс, который представляет одиночный экземпляр диспетчера ресурсов среда среды выполнения параллелизма.Диспетчер ресурсов является ответственным за назначение ресурсов планировщикам, которым необходимо взаимодействовать друг с другом. |
|
Отключает трассировку в среде выполнения блокировки.Эта функция нерекомендуема поскольку трассировки etw незарегистрированное по умолчанию. |
|
Включает трассировку в среде выполнения блокировки.Эта функция нерекомендуема поскольку трассировки etw теперь включен по умолчанию. |
|
Освобождает ранее методом Alloc блок памяти, выделенный с параллелизмом кэширования Suballocator среды выполнения. |
|
Возвращает уникальный идентификатор, который может быть назначен контексту выполнения, который реализует интерфейс IExecutionContext. |
|
Возвращает версию операционной системы. |
|
Возвращает число потоков оборудования в базовой системе. |
|
Возвращает число узлов NUMA или пакеты процессора в базовой системе. |
|
Возвращает уникальный идентификатор, который может быть назначен планировщику, который реализует интерфейс IScheduler. |
|
Создает точку останова для отмены.Если отмена выполняется в контексте, где эта функция вызывается, это вызовет внутреннее исключение, прерывает выполнение параллельного рабочего процесса, выполняющегося в данный момент.Если отмена не выполняется, то функция не выполняет никаких действий. |
|
Возвращает значение, указывающее, находится ли группа задач, которая выполняется в данный момент встроено в текущем контексте, в процессе активной отмены (или будет вскоре).Обратите внимание, что если нет групп задач, выполняющихся в текущем контексте, будет возвращено false. |
|
Возвращает сведения об получала ли задача, которая в настоящий момент выполняет запрос отмены выполнения.Отмена спрошена в задаче, если задача была создана с токеном отмены и отменен источника токена, связанный с данным токеном. |
|
Перегружен.Конструирует блок сообщений choice из необязательного Scheduler или ScheduleGroup и от двух до десяти источников ввода. |
|
Перегружен.Конструирует блок сообщений greedy multitype_join из необязательного Scheduler или ScheduleGroup и от двух до десяти источников ввода. |
|
Перегружен.Конструирует блок сообщений non_greedy multitype_join из необязательного Scheduler или ScheduleGroup и от двух до десяти источников ввода. |
|
Метод фабрики для создания объекта task_handle. |
|
Перегружен.Упорядочивает элементы в указанном диапазоне в nondescending порядок, в соответствии с двоичным предиката, упорядочения критерию, указанному в параллельном режиме.Эта функция семантически схожа с std::sort в сравнить-, что она основана неустойчиво, сортировать, за исключением того, что в- размещения требуется место O(n) дополнительная и требуют по умолчанию инициализации для сортированными элементов. |
|
Перегружен.parallel_for выполняет итерацию по диапазону индексов и выполняет предоставленный пользователем функцию в каждой итерации параллельно. |
|
Перегружен.parallel_for_each применяет указанную функцию к каждому элементу в диапазоне, параллельно.Оно эквивалентно семантически функции for_each в пространстве имен std, за исключением того, что итерации по элементам выполняется параллельно, и порядок итерации не определен.Аргумент _Func должен поддерживать оператор вызова функции формы operator()(T), где параметр T является типом элемента контейнера, итерация по которому выполняется. |
|
Перегружен.Выполняет объекты функции, предоставленные в виде параметров в параллели, и блоки до завершения их выполнения.Каждый объект функции может быть лямбда-выражением, указателем на функцию или любым объектом, который поддерживает оператор вызова функции с сигнатурой void operator()(). |
|
Перегружен.Упорядочивает элементы в указанном диапазоне в non по убыванию, используя алгоритм сортировки корня.Это стабильная функция сортировки, которая требует функции проекции, которая может запроектировать, что элементы были отсортированы беззнаковое целое число- в качестве ключей.По умолчанию требуется инициализация для сортированной элементов. |
|
Перегружен.Вычисляет сумму всех элементов в указанном диапазоне, вычисление суммы или последовательные частично вычисляет результат последовательных частично результатов аналогично, полученных от использования указанной бинарной операции, кроме суммы, параллельно.parallel_reduce семантически аналогично std::accumulate, за исключением того, что требует бинарная операция будет ассоциативно и требует значения идентификаторов вместо начального значения. |
|
Перегружен.Упорядочивает элементы в указанном диапазоне в nondescending порядок, в соответствии с двоичным предиката, упорядочения критерию, указанному в параллельном режиме.Эта функция семантически схожа с std::sort в сравнить-, что она основана неустойчиво, сортировка в- размещения. |
|
Перегружен.Применяет указанный объект функции к каждому элементу в диапазоне источника или к паре элементов из 2 диапазонов источника и копирует возвращаемые значения объекта функции в диапазон назначения, параллельно.Эта функциональная семантически эквивалентной привязке std::transform. |
|
Перегружен.Реализация общего получения, позволяющая контексту ждать данных из ровно одного источника и фильтровать значения, которые принимаются. |
|
Выполняет объект функции немедленно и одновременно в контексте данного токена отмены. |
|
Перегружен.Операция синхронной отправки, которая ожидает до тех пор, пока целевой объект не принимает или отклоняет сообщение. |
|
Перегружен.Ограничивает ресурсы выполнения рабочими потоками, используемые средой выполнения с параллелизмом внутренними к указанному набору сходства. Он допустим для вызова этот метод только до того, как диспетчер ресурсов был создан или от 2 времени существования диспетчера ресурсов.Ее можно вызывать несколько раз, при условии, что диспетчер ресурсов не существует во время вызова.После того как ограничение сходства было установлено, оно остается в силе до следующего вызова метода set_task_execution_resources допустимым. Маске схожести обеспечила не должны быть подмножеством маски сходства процессов.Сходство процесса будет обновляться при необходимости. |
|
Обменивает элементы двух объектов concurrent_vector. |
|
Связывает данное имя в блок или агенту сообщения трассировки событий Windows. |
|
Перегружен.Реализация общей попытки получения, позволяющая контексту искать данные из ровно одного источника и фильтровать значения, которые принимаются.Если данные не готовы, метод вернет значение false. |
|
Приостанавливает текущий контекст на заданной промежутка времени. |
|
Перегружен.Создает задачу, завершается успешно, если все задачи, переданные в качестве аргументов завершены успешно. |
|
Перегружен.Создает задачу, завершается успешно, если какие-либо задачи, переданные в качестве аргументов завершены успешно. |
Операторы
Имя |
Описание |
---|---|
Проверяет, равен ли объект concurrent_vector на левой стороне оператора объекту concurrent_vector правой стороны. |
|
Перегружен.Создает задачу, завершается успешно, если обе задачи, предоставляемых в качестве аргументов завершены успешно. |
|
Перегружен.Создает задачу, завершается успешно, если любая из задач, предоставляемых в качестве аргументов, завершается успешно. |
|
Проверяет, меньше ли объект concurrent_vector на левой стороне оператора объекту concurrent_vector правой стороны. |
|
Проверяет, меньше либо равен ли объект concurrent_vector на левой стороне оператора объекту concurrent_vector правой стороны. |
|
Проверяет, равен ли объект concurrent_vector на левой стороне оператора объекту concurrent_vector правой стороны. |
|
Проверяет, больше ли объект concurrent_vector на левой стороне оператора объекту concurrent_vector правой стороны. |
|
Проверяет, больше ли равен ли объект concurrent_vector на левой стороне оператора объекту concurrent_vector правой стороны. |
Константы
Имя |
Описание |
---|---|
Идентификатор GUID категории ({B9B5B78C - от 0713 до 4898 - C. 67949DCED07 21 a.}), описывающие событие трассировки событий windows, предоставленные библиотекой агентов среды выполнения с параллелизмом. |
|
Категория GUID, описывающий события ETW, созданные средой выполнения параллелизма, которые непосредственно связаны с делами или задачами. |
|
Поставщик ETW GUID для среды параллелизма. |
|
Указывает поддержку интерфейса диспетчера ресурсов, определенные в Visual Studio 2010. |
|
Категория GUID, описывающий события ETW, созданные средой выполнения параллелизма, которые не описаны подробнее другой категорией. |
|
Категория GUID, описывающий события ETW, созданные средой выполнения параллелизма, которые непосредственно связаны с контекстами. |
|
Значение, указывающее, что время ожидания никогда не должно кончаться. |
|
Значение, указывающее, что время ожидания кончилось. |
|
Особое значение для ключа политики ContextPriority указывающее, что приоритет потока всех контекстов в планировщике должен быть тем же, что у потока, который создал планировщик. |
|
Категория GUID, описывающий события ETW, созданные средой выполнения параллелизма, которые непосредственно связаны с блокировками. |
|
Специальное значение для ключей политики MinConcurrency и MaxConcurrency.По умолчанию число аппаратных потоков на компьютере в случае отсутствия других ограничений. |
|
Категория GUID, описывающий события ETW, созданные средой выполнения параллелизма, которые непосредственно связаны с использованием функции parallel_for_each. |
|
Категория GUID, описывающий события ETW, созданные средой выполнения параллелизма, которые непосредственно связаны с использованием функции parallel_for. |
|
Категория GUID, описывающий события ETW, созданные средой выполнения параллелизма, которые непосредственно связаны с использованием функции parallel_invoke. |
|
Категория GUID, описывающий события ETW, созданные средой выполнения параллелизма, которые непосредственно связаны с диспетчером ресурсов. |
|
Категория GUID, описывающий события ETW, созданные средой выполнения параллелизма, которые непосредственно связаны с группами расписания. |
|
Категория GUID, описывающий события ETW, созданные средой выполнения параллелизма, которые непосредственно связаны с действием расписания. |
|
Категория GUID, описывающий события ETW, созданные средой выполнения параллелизма, которые непосредственно связаны с виртуальными процессорами. |
Требования
заголовок: agents.h, concrt.h, concrtrm.h, concurrent_priority_queue.h, concurrent_queue.h, concurrent_unordered_map.h, concurrent_unordered_set.h, concurrent_vector.h, ppl.h, ppltasks.h