Метод task_group::run_and_wait

Планирует выполнение задачи быть встроенным в вызывающем контексте с помощью объекта task_group для полной поддержки отмены.Затем функция ожидает, пока всю работу в объекте task_group или не завершится или будет отменена.Если объект task_handle передается как параметр в run_and_wait, то вызывающий объект отвечает за управление временем существования объекта task_handle.

template<
   class _Function
>
task_group_status run_and_wait(
   task_handle<_Function>& _Task_handle
);

template<
   class _Function
>
task_group_status run_and_wait(
   const _Function& _Func
);

Параметры

  • _Function
    Тип объекта функции, который вызывается для выполнения тело задачи.

  • _Task_handle
    Дескриптор задачу, которая будет выполняться встроенным в вызывающем контексте.Обратите внимание, что вызывающий объект имеет за в течение времени существования этого объекта.Среда выполнения будет продолжать ожидать, что она, которые должны жить до метода run_and_wait не будет завершение выполнение.

  • _Func
    Функция, которая вызывается для вызова тела работы.Это может быть лямбда-выражением или другим объектом, поддерживающим версию оператор вызова функции с сигнатурой void operator()().

Возвращаемое значение

Указывает, было ли ожидание удовлетворено или группа целевого назначения была отменена, вследствие этого явно отменяет операцию или исключение возникающем из одной из своих задач.Дополнительные сведения см. в разделе task_group_status.

Заметки

Обратите внимание, что одна или несколько задач назначено данному объекту task_group могут выполнять встроенный в вызывающем контексте.

Если одна или несколько из запланированных задач к данному объекту task_group вызывают исключение, среда выполнения выделяет одно такое исключение свой выбор и передает его из вызова метода run_and_wait.

При возврате из метода run_and_wait в объекте task_group среда выполнения сбросит объект в чистому состояние, в котором она может быть использован повторно.Это включает случай, когда объект task_group был отменен.

В non-исключительнейшем пути выполнения, имеется мандат для вызова этого метода или метода wait деструктор task_group прежде чем выполнить.

Требования

заголовок: ppl.h

Параллелизм пространство имен:

См. также

Ссылки

Класс task_group

Метод task_group::run

Метод task_group::wait

Основные понятия

Параллелизм задач (среда выполнения с параллелизмом)