Costruttore task::task
Costruisce un oggetto task.
task();
template<
typename _Ty
>
__declspec(
noinline
) explicit task(_Ty _Param);
template<
typename _Ty
>
__declspec(
noinline
) explicit task(_Ty _Param, const task_options& _TaskOptions);
task(
const task& _Other
);
task(
task&& _Other
);
Parametri
_Ty
Il tipo del parametro dal quale deve essere costruita l'attività._Param
Il parametro dal quale deve essere costruita l'attività. Ciò può essere un'espressione lambda, un oggetto funzione, un oggetto task_completion_event<result_type> o un Windows::Foundation::IAsyncInfo se si utilizzano le attività nell'applicazione Windows Store. L'espressione lambda o l'oggetto funzione devono essere equivalenti a std::function<X(void)>, dove X può essere una variabile di tipo result_type, task<result_type>, o Windows::Foundation::IAsyncInfo nelle applicazioni Windows Store._TaskOptions
Le opzioni di attività includono il token di annullamento, l'utilità di pianificazione, ecc._Other
Oggetto task di origine.
Note
Il costruttore predefinito per task è presente solo per consentire alle attività di essere utilizzate all'interno di contenitori. Un'attività costruita per impostazione predefinita non può essere utilizzata fino a quando non le verrà assegnata un'attività valida. Tramite i metodi come get, wait o then verrà generata un'eccezione invalid_argument quando vengono chiamati su un'attività costruita predefinita.
Un'attività creata da task_completion_event verrà completata (e le relative continuazioni verranno pianificate) una volta impostato l'evento di completamento dell'attività.
La versione del costruttore che accetta un token di annullamento crea un'attività che può essere annullata utilizzando il cancellation_token_source da cui è stato ottenuto il token. Le attività create senza un token di annullamento non sono annullabili.
Le attività create da un'interfaccia Windows::Foundation::IAsyncInfo o un'espressione lambda che restituisce un'interfaccia IAsyncInfo raggiungono lo stato finale quando l'operazione o l'azione asincrona di Windows Runtime racchiusa viene completata. Analogamente, le attività create da un lambda tramite cui viene restituito un oggetto task<result_type> raggiungono lo stato finale quando l'attività interna raggiunge il relativo stato finale e non quando viene restituito un valore tramite il lambda.
task si comporta come un puntatore intelligente e viene passato in modo sicuro per valore. È possibile accedervi da più thread senza la necessità di blocchi.
Gli overload del costruttore che accettano un'interfaccia di Windows::Foundation::IAsyncInfo o un'espressione lambda che restituisce tale interfaccia, sono disponibili solo per le applicazioni di Windows Store.
Per ulteriori informazioni, vedere Parallelismo delle attività (runtime di concorrenza).
Requisiti
Intestazione: ppltasks.h
Spazio dei nomi: concorrenza