Класс task (среда выполнения с параллелизмом)
Класс task библиотеки параллельных шаблонов (PPL). Объект task представляет работу, которая может быть выполнена асинхронно и параллельно с другими задачами и параллельной работой, созданной параллельными алгоритмами в среде выполнения с параллелизмом. При успешном завершении он выводи результат типа _ResultType. Задачи типа task<void> никакого результата не дают. Задачи можно ожидать и отменять независимо от других задач. Также возможно сочетание с другими задачами с помощью шаблонов продолжений (then), присоединений (when_all) и выбора (when_any).
template < typename _Type > class task; template <> class task<void>; template< typename _ReturnType > class task;
Параметры
_Type
T
_ReturnType
Результирующий тип задачи.
Члены
Общедоступные Typedefs
Имя |
Описание |
---|---|
result_type |
Тип результата, выводимого объектом этого класса. |
Открытые конструкторы
Имя |
Описание |
---|---|
Перегружен. Создает объект task. |
Открытые методы
Имя |
Описание |
---|---|
Перегружен. Возвращает результат, созданный этой задачей. Если задача не находится в конечном состоянии, вызов get будет ожидать завершения задачи. Этот метод не возвращает значение при вызове для задачи с параметром result_type, имеющим значение void. |
|
Определяет, распаковывает ли задача интерфейс среды выполнения Windows IAsyncInfo или происходит от такой задачи. |
|
Определяет, завершена ли задача. |
|
Возвращает планировщик для этой задачи |
|
Перегружен. Добавляет задачу продолжения к этой задаче. |
|
Ожидает, когда эта задача достигнет конечного состояния. У wait существует возможность выполнения задачи встроенным образом, если все зависимости задач удовлетворены, и она еще не взята для выполнения фоновым рабочим процессом. |
Открытые операторы
Имя |
Описание |
---|---|
Перегружен. Определяет, представляют ли два объекта task различные внутренние задачи. |
|
Перегружен. Заменяет содержимое одного объекта task другим. |
|
Перегружен. Определяет, представляют ли два объекта task одну и ту же внутреннюю задачу. |
Заметки
Класс task и связанные типы, определенные в файле ppltasks.h, могут переноситься между платформами и являются основой для пакета SDK C++ REST — переносимой библиотеки асинхронных операций HTTP.
Для получения дополнительной информации см. Параллелизм задач (среда выполнения с параллелизмом).
Иерархия наследования
task
Требования
Заголовок: ppltasks.h
Пространство имен: concurrency