task 类

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

警告

本主题包含有关 C++ REST SDK 1.0 (codename "Casablanca") 的信息。如果你正在从 Codeplex Casablanca 网页 使用更高版本,则使用 http://casablanca.codeplex.com/documentation 上的本地文档。

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

参数

  • _Type

  • T

  • _ReturnType
    此任务的结果类型。

Members

公共 Typedef

名称

描述

result_type

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

公共构造函数

名称

描述

task::task 构造函数 (C++ REST SDK)

已重载。 构造 task 对象。

公共方法

名称

描述

task::get 方法 (C++ REST SDK)

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

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 命名空间