task_handle-Klasse
Die task_handle-Klasse stellt eine einzelne parallele Arbeitsaufgabe dar. Sie kapselt die Anweisungen und die zum Ausführen eines Teils der Arbeit erforderlichen Daten.
template<
typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;
Parameter
- _Function
Der Typ des Funktionsobjekts, das aufgerufen wird, um die vom task_handle-Objekt dargestellten Arbeiten auszuführen.
Member
Öffentliche Konstruktoren
Name |
Beschreibung |
---|---|
Erstellt ein neues task_handle-Objekt. Die Arbeit der Aufgabe wird ausgeführt, indem die als Parameter an den Konstruktor angegebene Funktion aufgerufen wird. |
|
Zerstört das task_handle-Objekt. |
Öffentliche Operatoren
Name |
Beschreibung |
---|---|
Der Funktionsaufrufoperator, den die Laufzeit aufruft, um die Arbeit des Aufgabenhandles auszuführen. |
Hinweise
task_handle-Objekte können in Verbindung mit einer structured_task_group oder einem allgemeineren task_group-Objekt verwendet werden, um die Arbeit in parallele Aufgaben aufzuteilen. Weitere Informationen finden Sie unter Aufgabenparallelität (Concurrency Runtime).
Beachten Sie, dass der Ersteller eines task_handle-Objekts für das Verwalten der Lebensdauer des erstellten task_handle-Objekts zuständig ist, bis es nicht mehr von der Concurrency Runtime benötigt wird. In der Regel bedeutet dies, dass das task_handle-Objekt erst zerstört werden darf, bis die wait-Methode oder run_and_wait-Methode der task_group oder structured_task_group aufgerufen wurde, für die es in die Warteschlange gestellt wurde.
task_handle-Objekte werden in der Regel in Verbindung mit C++-Lambdas verwendet. Da Sie den wahren Typ des Lambdas nicht wissen, wird i. d. R. die make_task-Funktion verwendet, um ein task_handle-Objekt zu erstellen.
Beim Testlauf wird eine Kopie der Arbeitsfunktion erstellt, die an ein task_handle-Objekt übergeben wird. Daher werden Zustandsänderungen, die in einem an ein task_handle-Objekt übergebenen Funktionsobjekt auftreten, nicht in der Kopie dieses Funktionsobjekts angezeigt.
Vererbungshierarchie
task_handle
Anforderungen
Header: ppl.h
Namespace: Parallelität
Siehe auch
Referenz
task_group::run_and_wait-Methode
structured_task_group::run-Methode