Метод structured_task_group::run_and_wait

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

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

Заметки

Обратите внимание, что один или несколько задач, запланированных на этот объект structured_task_group, может выполняться встроено в контекст вызывающий.

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

После того как эта функция возвращает объект structured_task_group учитывается в конечном состоянии и не должен использоваться.Обратите внимание, что использование после возвращения методом run_and_wait приведет к неопределенному поведению.

В неисключительном пути выполнения имеется поручение вызывать этот метод или метод wait до выполнения деструктора structured_task_group.

Требования

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

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

См. также

Ссылки

Класс structured_task_group

Метод structured_task_group::run

Метод structured_task_group::wait

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

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