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


Функция create_task

Создает объект задачи PPL. create_task можно использовать везде, где вы использовали бы конструктор задачи. Предоставляется, главным образом, для удобства, так как она позволяет использовать ключевое слово auto для создания задач.

template<
   typename _Ty
>
__declspec(
   noinline
) auto create_task(_Ty _Param, const task_options& _TaskOptions = task_options()) -> task<typename details::_TaskTypeFromParam<_Ty>::_Type>;

template<
   typename _ReturnType
>
__declspec(
   noinline
) task<_ReturnType> create_task(const task<_ReturnType>& _Task);

Параметры

  • _Ty
    Тип параметра, из которого будет создаваться задача.

  • _ReturnType

  • _Param
    Параметр, из которого будет создаваться задача. Это может быть лямбда-выражение, объект функции, объект task_completion_event или другой объект task или интерфейс Windows::Foundation::IAsyncInfo, если задачи используются в приложении Магазина Windows.

  • _TaskOptions

  • _Task

Возвращаемое значение

Новая задача типа T, выведенная из _Param.

Заметки

Первый перегруженный метод ведет себя как конструктор задач, который принимает один параметр.

Вторая перегруженная связывающего токена отмены, поставляемый вместе с вновь созданной задачей. При использовании этой перегрузки не допускается передача в качестве первого параметра другого объекта task.

Тип возвращаемой задачи выводится из первого параметра функции. Если _Param — task_completion_event<T>, task<T> или функтор, возвращающий тип T или task<T>, созданная задача имеет тип task<T>.

В приложении для Магазина Windows, если _Param имеет тип Windows::Foundation::IAsyncOperation<T>^ или Windows::Foundation::IAsyncOperationWithProgress<T,P>^, либо является функтором, который возвращает один из этих типов, созданная задача будет иметь тип task<T>. Если _Param имеет тип Windows::Foundation::IAsyncAction^ или Windows::Foundation::IAsyncActionWithProgress<P>^ либо является функтором, который возвращает один из этих типов, созданная задача будет иметь тип task<void>.

Требования

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

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

См. также

Ссылки

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

Класс task

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

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