task_handle 类

task_handle 类表示单个并行工作项目。 它封装了说明和执行一段工作所需的数据。

template<
   typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;

参数

  • _Function
    将调用的函数对象类型,以执行 task_handle 对象表示的工作。

成员

公共构造函数

Name

说明

task_handle::task_handle 构造函数

构造新的 task_handle 对象。 任务的工作通过调用指定为构造函数的参数的函数来执行。

task_handle::~task_handle 析构函数

销毁 task_handle 对象。

公共运算符

Name

说明

task_handle::operator() 运算符

函数调用运算符,运行时调用该运算符来执行任务句柄的工作。

备注

task_handle 对象可与 structured_task_group 或更常规的 task_group 对象结合使用来将工作分解为并行任务。 有关更多信息,请参见 任务并行(并发运行时)

请注意,task_handle 对象的创建者负责维护创建的 task_handle 对象的生存期,直到并发运行时不再需要它为止。 通常,这意味着 task_handle 对象不得销毁,直到其排队的 task_groupstructured_task_groupwaitrun_and_wait 方法被调用。

task_handle 对象通常与 C++ lambda 结合使用。 因为您不知道 lambda 的真实类型,所以 make_task 函数通常用于创建 task_handle 对象。

运行时创建您传递给 task_handle 对象的工作函数副本。 因此,您传递给 task_handle 对象的函数对象中发生的任何状态变更均不会出现在该函数对象的副本中。

继承层次结构

_Chore

_AllocBase

_UnrealizedChore

task_handle

要求

**标头:**ppl.h

命名空间: 并发

请参见

参考

Concurrency 命名空间

task_group 类

structured_task_group 类

task_group::run 方法

task_group::wait 方法

structured_task_group::run 方法

structured_task_group::wait 方法

其他资源

make_task 函数

task_group::run_and_wait 方法

structured_task_group::run_and_wait 方法