task::task-Konstruktor

Erstellt ein task-Objekt.

task();

template<
   typename _Ty
>
explicit task(
   _Ty_Param
);

template<
   typename _Ty
>
explicit task(
   _Ty_Param,
   cancellation_token _Token
);

task(
   const task& _Other
);

task(
   task&& _Other
);

Parameter

  • _Ty
    Der Typ des Parameters, von dem die Aufgabe erstellt werden soll.

  • _Param
    Der Parameter, von dem die Aufgabe erstellt werden soll.Dies könnte ein Lambda, ein Funktionsobjekt, ein task_completion_event<result_type>-Objekt oder ein Windows::Foundation::IAsyncInfo sein, wenn Sie Aufgaben in der App im Metro-Stil verwenden.Das Lambda oder Funktionsobjekt dürfen keine Typs äquivalent zu std::function<X(void)> sein, wobei x eine Variable vom Typ result_type, task<result_type> oder ein Windows::Foundation::IAsyncInfo in den App im Metro-Stils werden kann.

  • _Token
    Das mit dieser Aufgabe zuzuordnen, Abbruchtoken.Eine Aufgabe, die ohne ein Abbruchtoken erstellt wurde, kann nicht abgebrochen werden.Sie Schein- cancellation_token::none() implizit empfängt.

  • _Other
    Das Quell- task-Objekt.

  • _CancellationToken

Hinweise

Der Standardkonstruktor für task ist nur vorhanden, um Aufgaben zu ermöglichen, in Containern verwendet werden soll.Eine standardmäßige erstellte Aufgabe kann nicht verwendet werden, wenn Sie eine gültige Aufgabe zuweisen.Methoden wie get, wait oder theninvalid_argument lösen eine Ausnahme aus, wenn sie für eine Aufgabe erstellten standardmäßigen aufgerufen werden.

Eine Aufgabe, die von task_completion_event erstellt wird, enthält (und Fortsetzungen geplant haben Sie die Aufgaben abschluss), wenn das Ereignis festgelegt ist.

Die Version des Konstruktors, der ein Abbruchtoken akzeptiert, erstellt eine Aufgabe, die mit cancellation_token_source das Token abgebrochen werden kann, abgerufen wurde.Die Aufgaben, die ohne ein Abbruchtoken erstellt wurden, sind nicht abbrechbar.

Aufgaben erstellt Windows::Foundation::IAsyncInfo von einer Schnittstelle oder eines Lambda, das eine IAsyncInfo-Schnittstellen reichweite ihr Terminal Zustand zurückgibt, wenn der eingeschlossene Windows Runtime-asynchrone Operation oder - Aktion abgeschlossen ist.Ebenso erstellt Aufgaben, lamda, das von einem task<result_type> ihres Gültigkeitsbereichs einer Terminal Zustand zurückgibt, wenn die Aufgabe innerhalb der Terminal Zustand erreicht hat und nicht, wenn das lamda zurückkehrt.

task verhält sich wie ein Zeiger und intelligenter ist sicher, ungefähr durch einen Wert übergeben werden sollen.Er kann von mehreren Threads zugegriffen werden, ohne dass für Sperren.

Die Konstruktorüberladungen, die eine Windows::Foundation::IAsyncInfo-Schnittstelle oder ein Lambda, die eine solche Schnittstelle zurückgeben, sind für App im Metro-Stils nur verfügbar.

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

Anforderungen

Header: ppltasks.h

Namespace: Parallelität

Siehe auch

Referenz

task-Klasse (Concurrency Runtime)