task 类(并发运行时)

并行模式库 (PPL) task 类。 task 对象,表示可异步执行的工作,以及可与并发运行时中的并行算法生成的其他任务一起执行的工作。 成功完成后,它将生成类型为 _ResultType 的结果。 类型为 task<void> 的任务不生成任何结果。 可独立于其他任务等待和取消的任务。 它也可通过使用 continuations(then)、join(when_all) 和 choice(when_any) 模式由其他任务构成。

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

参数

  • _Type

  • T

  • _ReturnType
    此任务的结果类型。

成员

公共 Typedef

名称

描述

result_type

此类的一个对象生成的结果类型。

公共构造函数

名称

描述

task::task 构造函数

已重载。 构造 task 对象。

公共方法

名称

描述

task::get 方法

已重载。 返回此任务产生的结果。 如果任务不处于终止状态,则对 get 的调用将等待任务完成。 在调用 result_typevoid 的任务时,此方法不返回值。

task::is_apartment_aware 方法

确定任务是否解包 Windows 运行时 IAsyncInfo 接口或继承自此类任务。

task::is_done 方法(并发运行时)

确定任务是否已完成。

task::scheduler 方法(并发运行时)

返回此任务的计划程序

task::then 方法

已重载。 向此任务添加延续任务。

task::wait 方法

等待此任务到达终止状态。 wait 可执行内联任务,前提是所有任务依赖项得到满足并且后台辅助线程没有选取它执行。

公共运算符

名称

描述

task::operator!= 运算符

已重载。 确定两个 task 对象是否表示不同的内部任务。

task::operator= 运算符

已重载。 将一个 task 对象的内容替换为另一个对象的内容。

task::operator== 运算符

已重载。 确定两个 task 对象是否表示相同的内部任务。

备注

ppltasks.h 中定义的任务类和相关类型可跨平台移植,并且是 C++ REST SDK(异步 HTTP 的可移植库)的基础。

有关详细信息,请参阅任务并行(并发运行时)

继承层次结构

task

要求

**标头:**ppltasks.h

**命名空间:**并发

请参见

参考

concurrency 命名空间