Freigeben über


cancellation_token-Klasse

Mit der cancellation_token-Klasse kann bestimmt werden, ob für einen Vorgang ein Abbruch angefordert wurde. Ein gegebenes Token kann mit task_group, structured_task_group oder task für einen impliziten Abbruch verbunden werden. Es kann auch auf eine Stornierung abgefragt oder ein Rückruf registriert werden, wenn und falls das zugeordnete cancellation_token_source-Element storniert wird.

Syntax

class cancellation_token;

Mitglieder

Öffentliche Konstruktoren

Name Beschreibung
Abbruch-Token
~cancellation_token-Destruktor

Öffentliche Methoden

Name Beschreibung
deregister_callback Entfernt einen Rückruf, der zuvor über die Methode register registriert wurde, auf Grundlage des cancellation_token_registration-Objekts, das zum Zeitpunkt der Registrierung zurückgegeben wurde.
kann_abgebrochen_werden Gibt einen Hinweis zurück, ob dieses Token abgebrochen werden kann oder nicht.
is_canceled Gibt true zurück, wenn das Token abgebrochen wurde.
none Gibt ein Abbruchtoken zurück, das niemals gekündigt werden kann.
register_callback Registriert eine Rückruffunktion bei dem Token. Wenn das Token abgebrochen wird, wird der Rückruf vorgenommen. Beachten Sie, dass, wenn das Token bereits storniert ist, wenn diese Methode aufgerufen wird, das Callback sofort und synchron ausgeführt wird.

Öffentliche Operatoren

Name Beschreibung
operator!=
operator=
operator==

Vererbungshierarchie

cancellation_token

Anforderungen

Kopfzeile: pplcancellation_token.h

Namespace: Parallelität

~Abbruch-Token

~cancellation_token();

Abbruch-Token

cancellation_token(const cancellation_token& _Src);

cancellation_token(cancellation_token&& _Src);

Parameter

_Src
Das Abbruch-Token, das kopiert oder verschoben werden soll.

Callback-Deregistrierung

Entfernt einen Rückruf, der zuvor über die Methode register registriert wurde, auf Grundlage des cancellation_token_registration-Objekts, das zum Zeitpunkt der Registrierung zurückgegeben wurde.

void deregister_callback(const cancellation_token_registration& _Registration) const;

Parameter

_Registrierung
Das cancellation_token_registration-Objekt, das dem Rückruf entspricht, der deregistriert werden soll. Dieses Token muss zuvor von einem Aufruf der register-Methode zurückgegeben worden sein.

ist_stornierbar

Gibt einen Hinweis zurück, ob dieses Token abgebrochen werden kann oder nicht.

bool is_cancelable() const;

Rückgabewert

Ein Hinweis darauf, ob dieses Token abgebrochen werden kann oder nicht.

ist_abgebrochen

Gibt true zurück, wenn das Token abgebrochen wurde.

bool is_canceled() const;

Rückgabewert

Der Wert true, wenn das Token abgebrochen wurde; andernfalls false.

keine

Gibt ein Abbruchtoken zurück, das niemals gekündigt werden kann.

static cancellation_token none();

Rückgabewert

Ein Abbruchtoken, das nicht storniert werden kann.

operator!=

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

Parameter

_Src
Das zu vergleichende cancellation_token-Element.

Rückgabewert

operator =

cancellation_token& operator= (const cancellation_token& _Src);

cancellation_token& operator= (cancellation_token&& _Src);

Parameter

_Src
Der cancellation_token, der zugewiesen werden soll.

Rückgabewert

operator==

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

Parameter

_Src
Das zu vergleichende cancellation_token-Element.

Rückgabewert

register_callback

Registriert eine Rückruffunktion bei dem Token. Wenn das Token abgebrochen wird, wird der Rückruf vorgenommen. Beachten Sie, dass, wenn das Token bereits storniert ist, wenn diese Methode aufgerufen wird, das Callback sofort und synchron ausgeführt wird.

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

Parameter

_Funktion
Der Typ des Funktionsobjekts, das zurückgerufen wird, wenn dieses cancellation_token abgebrochen wird.

_Func
Das Funktionsobjekt, das zurückgerufen wird, wenn dieses cancellation_token abgebrochen wird.

Rückgabewert

Ein cancellation_token_registration-Objekt, das in der deregister-Methode verwendet werden kann, um einen bereits registrierten Rückruf aufzuheben, damit er nicht ausgeführt wird. Die Methode löst eine invalid_operation Ausnahme aus, wenn sie für ein cancellation_token Objekt aufgerufen wird, das mit der methode cancellation_token::none erstellt wurde.

Siehe auch

Concurrency-Namespace