Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Класс task_handle представляет отдельный параллельный рабочий элемент. Он инкапсулирует инструкции и данные, необходимые для выполнения части работы.
Синтаксис
template<
typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;
Параметры
_Функция
Тип объекта функции, который будет вызван для выполнения работы, представленной task_handle объектом.
Участники
Открытые конструкторы
| Имя | Описание |
|---|---|
| task_handle | Создает новый объект task_handle. Работа задачи выполняется путем вызова функции, указанной в качестве параметра конструктора. |
| Деструктор ~task_handle | Уничтожает task_handle объект. |
Открытые операторы
| Имя | Описание |
|---|---|
| operator() | Оператор вызова функции, вызываемый средой выполнения для выполнения работы дескриптора задачи. |
Замечания
task_handle Объекты можно использовать в сочетании с structured_task_group более общим task_group объектом для разложения работы в параллельные задачи. Дополнительные сведения см. в разделе "Параллелизм задач".
Обратите внимание, что создатель task_handle объекта отвечает за сохранение времени существования созданного task_handle объекта, пока он больше не требуется средой выполнения параллелизма. Как правило, это означает, что task_handle объект не должен деструкировать до тех пор, пока wait run_and_wait не будет вызван метод или structured_task_group методtask_group, к которому он находится в очереди.
task_handle Объекты обычно используются в сочетании с лямбда-кодами C++. Так как вы не знаете истинный тип лямбда-кода, функция make_task обычно используется для создания task_handle объекта.
Среда выполнения создает копию рабочей функции, передаваемой объекту task_handle . Таким образом, любые изменения состояния, происходящие в объекте функции, передаваемом объекту task_handle , не будут отображаться в копии этого объекта функции.
Иерархия наследования
task_handle
Требования
Заголовок: ppl.h
Пространство имен: concurrency
operator()
Оператор вызова функции, вызываемый средой выполнения для выполнения работы дескриптора задачи.
void operator()() const;
task_handle
Создает новый объект task_handle. Работа задачи выполняется путем вызова функции, указанной в качестве параметра конструктора.
task_handle(const _Function& _Func);
Параметры
_Func
Функция, которая будет вызвана для выполнения работы, представленной task_handle объектом. Это может быть лямбда-functor, указатель на функцию или любой объект, поддерживающий версию оператора вызова функции с подписью void operator()().
Замечания
Среда выполнения создает копию рабочей функции, передаваемой конструктору. Таким образом, любые изменения состояния, происходящие в объекте функции, передаваемом объекту task_handle , не будут отображаться в копии этого объекта функции.
~task_handle
Уничтожает task_handle объект.
~task_handle();
См. также
Пространство имен concurrency
Класс task_group
Класс structured_task_group