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


Класс task_handle

Класс task_handle представляет отдельный элемент параллельной работы.Он инкапсулирует инструкции и данные, необходимые для выполнения части работы.

template<
   typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;

Параметры

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

Участники

Dd504801.collapse_all(ru-ru,VS.110).gifОткрытые конструкторы

Имя

Описание

Конструктор task_handle::task_handle

Создает новый объект task_handle.Рабочий задач осуществляется посредством применения функции, указанную в качестве параметра конструктору.

Деструктор task_handle::~task_handle

Удаляет объект task_handle.

Dd504801.collapse_all(ru-ru,VS.110).gifОткрытые операторы

Имя

Описание

Оператор task_handle::operator()

Оператор вызова функции, среда выполнения вызывает выполнение работы маркера задачи.

Заметки

Объекты task_handle может использоваться совместно с объектом structured_task_group или несколько общих task_group, чтобы разложить работу в параллельных задач.Дополнительные сведения см. в разделе Параллелизм задач (среда выполнения с параллелизмом).

Обратите внимание, что создатель объекта отвечает task_handle для отслеживания времени существования созданного объекта task_handle до тех пор, пока больше не нужна средой выполнения с параллелизмом.Обычно это означает, что объект task_handle не должен destruct до или wait или метод был вызван run_and_waittask_group или structured_task_group, к которому он в очереди.

Объекты task_handle обычно используются в сочетании с lambdas C++.Так как неизвестно, истинный тип лямбда-выражения, make_task функция обычно используется, чтобы создать объект task_handle.

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

Иерархия наследования

task_handle

Требования

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

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

См. также

Ссылки

Пространство имен concurrency

Класс task_group

Класс structured_task_group

Функция make_task

Метод task_group::run

Метод task_group::wait

Метод task_group::run_and_wait

Метод structured_task_group::run

Метод structured_task_group::wait

Метод structured_task_group::run_and_wait