Класс task_completion_event

Класс task_completion_event позволяет, чтобы отложить выполнение задачи до тех пор, пока не будет выполняться условие, или запустить задачу в ответ на внешнее событие.

template<
   typename _ResultType
>
class task_completion_event;

template<>
class task_completion_event<void>;

Параметры

  • _ResultType
    Тип результата этого класса task_completion_event.

  • T

Члены

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

Name

Описание

Конструктор task_completion_event::task_completion_event

Создает объект task_completion_event.

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

Name

Описание

Метод task_completion_event::set

Перегружен. Задает событие завершения задачи.

Метод task_completion_event::set_exception

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

Заметки

Используйте задачу, созданную из события завершения задачи, когда сценарий требует создания задачи, которая будет завершаться и, следовательно, иметь запланированные продолжения для выполнения в некоторый момент времени в будущем. Аргумент task_completion_event должен иметь тот же тип, что и создаваемая задача, и вызов метода задания для объекта завершения задачи со значением этого типа приведет к завершению связанной задачи, причем это значение будет предоставлено продолжениям в качестве результата.

Если событие завершения задачи никогда не возникает, будут отменены все задачи, созданные из нее, при ее разрушении.

task_completion_event ведет себя подобно интеллектуальному указателю, и его следует передавать по значению.

Иерархия наследования

task_completion_event

Требования

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

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

См. также

Ссылки

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

Класс task