Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La classe task_handle rappresenta un elemento di lavoro parallelo individuale. Incapsula le istruzioni e i dati richiesti per eseguire un lavoro.
Sintassi
template<
typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;
Parametri
_Funzione
Tipo dell'oggetto funzione che verrà richiamato per eseguire il lavoro rappresentato dall'oggetto task_handle .
Membri
Costruttori pubblici
| Nome | Descrizione |
|---|---|
| task_handle | Costruisce un oggetto task_handle nuovo. Il lavoro dell'attività viene eseguito richiamando la funzione specificata come parametro al costruttore. |
| Distruttore ~task_handle | Elimina definitivamente l'oggetto task_handle . |
Operatori pubblici
| Nome | Descrizione |
|---|---|
| operator() | Operatore di chiamata di funzione richiamato dal runtime per eseguire il lavoro dell'handle di attività. |
Osservazioni:
task_handle gli oggetti possono essere utilizzati insieme a un structured_task_group oggetto o più generale task_group per scomporre il lavoro in attività parallele. Per altre informazioni, vedere Parallelismo delle attività.
Si noti che l'autore di un task_handle oggetto è responsabile della gestione della durata dell'oggetto creato task_handle fino a quando non è più richiesto dal runtime di concorrenza. In genere, ciò significa che l'oggetto task_handle non deve essere distrutto fino a quando non viene chiamato il wait metodo o run_and_wait di task_group o structured_task_group a cui viene accodato.
task_handle gli oggetti vengono in genere usati insieme alle espressioni lambda C++. Poiché non si conosce il tipo vero dell'espressione lambda, la funzione make_task viene in genere usata per creare un task_handle oggetto .
Il runtime crea una copia della funzione di lavoro passata a un task_handle oggetto . Pertanto, tutte le modifiche dello stato che si verificano in un oggetto funzione passato a un task_handle oggetto non verranno visualizzate nella copia di tale oggetto funzione.
Gerarchia di ereditarietà
task_handle
Requisiti
Intestazione: ppl.h
Spazio dei nomi: Concurrency
operator()
Operatore di chiamata di funzione richiamato dal runtime per eseguire il lavoro dell'handle di attività.
void operator()() const;
task_handle
Costruisce un oggetto task_handle nuovo. Il lavoro dell'attività viene eseguito richiamando la funzione specificata come parametro al costruttore.
task_handle(const _Function& _Func);
Parametri
_Func
Funzione che verrà richiamata per eseguire il lavoro rappresentato dall'oggetto task_handle . Può trattarsi di un funtore lambda, di un puntatore a una funzione o di qualsiasi oggetto che supporta una versione dell'operatore di chiamata di funzione con la firma void operator()().
Osservazioni:
Il runtime crea una copia della funzione di lavoro passata al costruttore. Pertanto, tutte le modifiche dello stato che si verificano in un oggetto funzione passato a un task_handle oggetto non verranno visualizzate nella copia di tale oggetto funzione.
~task_handle
Elimina definitivamente l'oggetto task_handle .
~task_handle();
Vedi anche
Spazio dei nomi concurrency
Classe task_group
Classe structured_task_group