Класс task

Класс task библиотеки параллельных шаблонов (PPL). Объект task представляет работу, которая может быть выполнена асинхронно и параллельно с другими задачами и параллельной работой, созданной параллельными алгоритмами в среде выполнения с параллелизмом. При успешном завершении он выводи результат типа _ResultType. Задачи типа task<void> никакого результата не дают. Задачи можно ожидать и отменять независимо от других задач. Также возможно сочетание с другими задачами с помощью шаблонов продолжений (then), присоединений (when_all) и выбора (when_any).

Предупреждение

В этом разделе содержатся сведения о C++ REST SDK 1.0 (кодовое название "Casablanca").Если используется более поздняя версия с веб-страницы Casablanca Codeplex, воспользуйтесь локальной документацией по адресу http://casablanca.codeplex.com/documentation.

template <    typename _Type > class task;  template <> class task<void>;  template<    typename _ReturnType > class task;

Параметры

  • _Type

  • T

  • _ReturnType
    Результирующий тип задачи.

Члены

Общедоступные Typedefs

Имя

Описание

result_type

Тип результата, выводимого объектом этого класса.

Открытые конструкторы

Имя

Описание

Конструктор task::task (C++ REST SDK)

Перегружен. Создает объект task.

Открытые методы

Имя

Описание

Метод task::get (C++ REST SDK)

Перегружен. Возвращает результат, созданный этой задачей. Если задача не находится в конечном состоянии, вызов get будет ожидать завершения задачи. Этот метод не возвращает значение при вызове для задачи с параметром result_type, имеющим значение void.

Метод task::is_apartment_aware (C++ REST SDK)

Определяет, распаковывает ли задача интерфейс среды выполнения Windows IAsyncInfo или происходит от такой задачи.

Метод task::is_done

Определяет, завершена ли задача.

Метод task::scheduler

Возвращает планировщик для этой задачи

Метод task::then (C++ REST SDK)

Перегружен. Добавляет задачу продолжения к этой задаче.

Метод task::wait (C++ REST SDK)

Ожидает, когда эта задача достигнет конечного состояния. У wait существует возможность выполнения задачи встроенным образом, если все зависимости задач удовлетворены, и она еще не взята для выполнения фоновым рабочим процессом.

Открытые операторы

Имя

Описание

Оператор task::operator!= (C++ REST SDK)

Перегружен. Определяет, представляют ли два объекта task различные внутренние задачи.

Оператор task::operator= (C++ REST SDK)

Перегружен. Заменяет содержимое одного объекта task другим.

Оператор task::operator== (C++ REST SDK)

Перегружен. Определяет, представляют ли два объекта task одну и ту же внутреннюю задачу.

Заметки

Для получения дополнительной информации см. Параллелизм задач (среда выполнения с параллелизмом).

Требования

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

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

См. также

Ссылки

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