Freigeben über


task-Klasse (Concurrency Runtime)

Die Parallel Patterns Library (PPL) task-Klasse. Ein task-Objekt stellt Arbeit dar, die asynchron und übereinstimmend mit anderen Tasks und paralleler Arbeit , die von parallelen Algorithmen in der Concurrency Runtime erzeugt wird, ausgeführt werden kann. Es enthält bei erfolgreichem Abschluss ein Ergebnis vom Typ _ResultType. Tasks des Typs task<void> führen zu keinem Ergebnis. Ein Task kann erwartet und unabhängig von anderen Tasks abgebrochen werden. Er kann mit anderen Tasks mithilfe von Continuations (then) sowie Join-Muster (when_all) und Choise-Muster (when_any) erstellt werden.

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

Parameter

  • _Type

  • T

  • _ReturnType
    Der Ergebnistyp dieses Tasks.

Mitglieder

Öffentliche Typedefs

Name

Beschreibung 

result_type

Der Typ des von einem Objekt dieser Klasse erstellten Ergebnisses.

Öffentliche Konstruktoren

Name

Beschreibung 

task::task-Konstruktor

Überladen. Erstellt ein task-Objekt.

Öffentliche Methoden

Name

Beschreibung 

task::get-Methode

Überladen. Gibt das von diesem Task erstellte Ergebnis zurück. Wenn sich der Task nicht in einem abschließenden Zustand befindet, wird mit dem get-Aufruf gewartet, bis der Task fertig gestellt wurde. Diese Methode gibt bei dem Aufruf eines Tasks mit einem result_type von void keinen Wert zurück.

task::is_apartment_aware-Methode

Bestimmt, ob der Task eine IAsyncInfo-Schnittstelle der Windows Runtime entpackt oder von einem solchen Task abgeleitet wurde.

task::is_done-Methode [Concurrency Runtime]

Bestimmt, ob der Task abgeschlossen wurde.

task::scheduler-Methode (Concurrency Runtime)

Gibt den Planer für diesen Task zurück.

task::then-Methode

Überladen. Fügt diesem Task einen Fortsetzungstask hinzu.

task::wait-Methode

Erwartet, dass dieser Task einen Terminalzustand erreicht. Es ist möglich, dass das wait-Element den Task inline ausführt, wenn alle Taskabhängigkeiten erfüllt sind und er nicht bereits zur Ausführung durch einen Hintergrundworker aufgehoben wurde.

Öffentliche Operatoren

Name

Beschreibung 

task::operator!=-Operator

Überladen. Bestimmt, ob zwei task-Objekte unterschiedliche interne Prozesse darstellen.

task::operator=-Operator

Überladen. Ersetzt den Inhalt eines task-Objekts durch einen anderen.

task::operator==-Operator

Überladen. Bestimmt, ob zwei task-Objekte den gleichen internen Task darstellen.

Hinweise

Die Aufgabenklasse und verwandte Typen, die in ppltasks.h definiert sind, sind plattformübergreifend und bilden die Grundlage für das C++-REST-SDK, eine portable Bibliothek für asynchrones HTTP.

Weitere Informationen finden Sie unter Aufgabenparallelität (Concurrency Runtime).

Vererbungshierarchie

task

Anforderungen

Header: ppltasks.h

Namespace: Parallelität

Siehe auch

Referenz

concurrency-Namespace