Класс task_handle
Класс task_handle представляет отдельный элемент параллельной работы.Он инкапсулирует инструкции и данные, необходимые для выполнения части работы.
template<
typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;
Параметры
- _Function
Тип объекта функции, который вызывается для выполнения рабочего task_handle, представленного объектом.
Участники
Открытые конструкторы
Имя |
Описание |
---|---|
Создает новый объект task_handle.Рабочий задач осуществляется посредством применения функции, указанную в качестве параметра конструктору. |
|
Удаляет объект task_handle. |
Открытые операторы
Имя |
Описание |
---|---|
Оператор вызова функции, среда выполнения вызывает выполнение работы маркера задачи. |
Заметки
Объекты 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
Параллелизм пространство имен:
См. также
Ссылки
Метод task_group::run_and_wait
Метод structured_task_group::run