cancellation_token 类

cancellation_token 类表示确定某项操作是否已请求取消的功能。 给定的标记可与 task_groupstructured_task_grouptask 关联以实现隐式取消。 它还可为了取消而进行轮询,或可在取消关联的 cancellation_token_source 时注册回调。

语法

class cancellation_token;

成员

公共构造函数

名称 描述
cancellation_token
~cancellation_token 析构函数

公共方法

名称 描述
deregister_callback 通过 register 方法基于注册时返回的 cancellation_token_registration 对象移除之前注册的回调。
is_cancelable 返回有关此标记是否可取消的指示。
is_canceled 如果标记已取消,则返回 true
返回一个取消标记,此标记绝不会受到取消。
register_callback 使用标记注册一个回调函数。 取消该标记时,将进行回调。 请注意,如果在调用此方法时已删除此标记,则将立即同步进行回调。

公共运算符

“属性” 描述
operator!=
operator=
operator==

继承层次结构

cancellation_token

要求

标头:pplcancellation_token.h

命名空间: 并发

~cancellation_token

~cancellation_token();

cancellation_token

cancellation_token(const cancellation_token& _Src);

cancellation_token(cancellation_token&& _Src);

参数

_Src
要复制或移动的 cancellation_token。

deregister_callback

通过 register 方法基于注册时返回的 cancellation_token_registration 对象移除之前注册的回调。

void deregister_callback(const cancellation_token_registration& _Registration) const;

参数

_Registration
与将取消注册的回调对应的 cancellation_token_registration 对象。 此标记必须先前已从对 register 的调用中返回。

is_cancelable

返回有关此标记是否可取消的指示。

bool is_cancelable() const;

返回值

有关此标记是否可以取消的指示。

is_canceled

如果标记已取消,则返回 true

bool is_canceled() const;

返回值

如果标记已取消,则值为 true;否则值为 false

返回一个取消标记,此标记绝不会受到取消。

static cancellation_token none();

返回值

无法取消的取消标记。

operator!=

bool operator!= (const cancellation_token& _Src) const;

参数

_Src
要比较的 cancellation_token

返回值

operator=

cancellation_token& operator= (const cancellation_token& _Src);

cancellation_token& operator= (cancellation_token&& _Src);

参数

_Src
要分配的 cancellation_token

返回值

operator==

bool operator== (const cancellation_token& _Src) const;

参数

_Src
要比较的 cancellation_token

返回值

register_callback

使用标记注册一个回调函数。 取消该标记时,将进行回调。 请注意,如果在调用此方法时已删除此标记,则将立即同步进行回调。

template<typename _Function>
::Concurrency::cancellation_token_registration register_callback(const _Function& _Func) const;

参数

_Function
取消此 cancellation_token 时将回调的函数对象的类型。

_Func
取消此 cancellation_token 时将回调的函数对象。

返回值

可在 cancellation_token_registration 方法中用于取消注册之前注册的回调并防止进行该回调的 deregister 对象。 如果在使用 cancellation_token::none 方法创建的 cancellation_token 对象上调用该方法,则它将引发 invalid_operation 异常。

另请参阅

并发命名空间