Поделиться через


Метод structured_task_group::run

Назначает задание на объекте structured_task_group. Вызывающий объект управляет временем жизни переданного в параметр _Task_handle объекта task_handle.

template<
   class _Function
>
void run(
   task_handle<_Function>& _Task_handle
);

Параметры

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

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

Заметки

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

Если structured_task_group разрушается в результате очистки стека из-за исключения, необязательно гарантировать, что делается вызов к методу wait или run_and_wait. В этом случае деструктор будет соответствующим образом отменять и ждать, пока задача, представленная параметром _Task_handle, завершится.

Создает исключение invalid_multiple_scheduling, если дескриптор задачи, заданным параметром _Task_handle, уже запланирован на объект группы задач через метод run и не было промежуточных вызовов к методу wait или run_and_wait для этой группы задач.

Требования

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

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

См. также

Ссылки

Класс structured_task_group

Метод structured_task_group::wait

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

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

Другие ресурсы

Метод structured_task_group::run_and_wait