Freigeben über


task_handle-Klasse

Die task_handle-Klasse stellt eine einzelne parallele Arbeitsaufgabe dar.Sie schließt die Anweisungen und die Daten, die eine auszuführende Arbeitsschritte erforderlich sind.

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

Parameter

  • _Function
    Der Typ des Funktionsobjekts, das aufgerufen wird, um die Arbeit auszuführen, der durch das task_handle-Objekt dar.

Member

Dd504801.collapse_all(de-de,VS.110).gifÖffentliche Konstruktoren

Name

Beschreibung

task_handle::task_handle-Konstruktor

Erstellt ein neues task_handle-Objekt.Die Aktionen der Aufgabe wird ausgeführt, indem die Funktion aufruft, die als Parameter für den Konstruktor angegeben ist.

task_handle::~task_handle-Destruktor

Zerstört das task_handle-Objekt.

Dd504801.collapse_all(de-de,VS.110).gifÖffentliche Operatoren

Name

Beschreibung

task_handle::operator()-Operator

Im Funktionsaufrufoperator, das von der Runtime aufgerufen wird, um die Arbeit des Aufgabenhandles auszuführen.

Hinweise

task_handle-Objekte können zusammen mit allgemeinen Objekt oder einem structured_task_grouptask_group mehr verwendet werden, um die Arbeit in Parallele Aufgaben zu zerlegen.Weitere Informationen finden Sie unter Aufgabenparallelität (Concurrency Runtime).

Beachten Sie, dass der Ersteller eines Objekts task_handle für die Verwaltung der Lebensdauer des erstellten Objekts task_handle verantwortlich ist, bis keine weiteren von der Concurrency Runtime benötigt wird.In der Regel bedeutet dies, dass das Objekt nicht task_handle bis entweder wait, oder run_and_wait-Methode task_group oder zerstören structured_task_group darf, auf die es in die Warteschlange gestellt wird, aufgerufen wurde.

task_handle-Objekte werden in der Regel in Verbindung mit C++-lambdas verwendet.Da Sie nicht den tatsächlichen Typ des Lambdaausdrucks kennen, wird die make_task-Funktion in der Regel verwendet, um ein task_handle-Objekt zu erstellen.

Die Laufzeit wird eine Kopie der Arbeitsfunktion, die Sie auf task_handle ein Objekt übergeben.Daher werden keine Zustandsänderungen, die in einem Funktionsobjekt eintreten, das Sie auf task_handle ein Objekt übergeben, nicht in der Kopie dieses Funktionsobjekts.

Vererbungshierarchie

task_handle

Anforderungen

Header: ppl.h

Namespace: Parallelität

Siehe auch

Referenz

concurrency-Namespace

task_group-Klasse

structured_task_group-Klasse

make_task-Funktion

task_group::run-Methode

task_group::wait-Methode

task_group::run_and_wait-Methode

structured_task_group::run-Methode

structured_task_group::wait-Methode

structured_task_group::run_and_wait-Methode