Classe task_group
La classe task_group rappresenta una raccolta di lavoro parallelo che può essere messa in attesa o annullato.
class task_group;
Membri
Costruttori pubblici
Nome |
Descrizione |
---|---|
Di overload.Costruisce un nuovo oggetto task_group. |
|
Elimina un oggetto task_group.È prevista la chiamata al metodo wait o run_and_wait sull'oggetto prima dell'esecuzione del distruttore, a meno che il distruttore sia in esecuzione in seguito alla rimozione dello stack a causa di un'eccezione. |
Metodi pubblici
Nome |
Descrizione |
---|---|
Consente di eseguire il migliore tentativo per annullare la sottostruttura di lavoro con radice nel gruppo di attività.Ogni attività pianificata nel gruppo di attività sarà transitivamente annullata, se possibile. |
|
Consente di informare il chiamante se il gruppo di attività è attualmente nel mezzo di un annullamento.Non indica necessariamente che il metodo cancel è stato chiamato sull'oggetto task_group (anche se in questo modo si qualifica sicuramente questo metodo a restituire true).È possibile il caso in cui l'oggetto task_group è in esecuzione inline e un gruppo di attività più in alto nella struttura ad albero del lavoro viene annullato.Anche casi come questi dove il runtime può determinare in anticipo che l'annullamento si propagherà tramite questo oggetto task_group, sarà restituito true. |
|
Di overload.Consente di pianificare un'attività sull'oggetto task_group.Se un oggetto task_handle viene passato come parametro run, il chiamante è responsabile della gestione della durata dell'oggetto task_handle.La versione del metodo che contiene un riferimento a un oggetto funzione come parametro comporta l'allocazione heap nel runtime eseguibile in misura qualitativamente inferiore rispetto all'utilizzo della versione che contiene un riferimento all'oggetto task_handle.La versione che accetta il parametro _Placement causa l'attività essere influenzato da eseguire nel percorso specificato dal parametro. |
|
Di overload.Consente di pianificare un'attività in esecuzione inline sul contesto di chiamata con l'assistenza dell'oggetto task_group per il completo supporto di annullamento.La funzione attende pertanto fino al completamento o all'annullamento di tutto il lavoro sull'oggetto task_group.Se un oggetto task_handle viene passato come parametro run_and_wait, il chiamante è responsabile della gestione della durata dell'oggetto task_handle. |
|
Consente di attendere fino al completamento o all'annullamento di tutto il lavoro sull'oggetto task_group. |
Note
A differenza della classe structured_task_group ampiamente limitata, quella task_group è un costrutto molto più generico.Non ha nessuna delle restrizioni descritte da structured_task_group.Gli oggetti task_group possono essere utilizzati in modo sicuro attraverso dei thread e nelle modalità in formato libero.Lo svantaggio del costrutto task_group consiste nel non poter eseguire allo stesso modo il costrutto structured_task_group per attività che eseguono piccole quantità di lavoro.
Per ulteriori informazioni, vedere Parallelismo delle attività (runtime di concorrenza).
Gerarchia di ereditarietà
task_group
Requisiti
Header: ppl.h
Concorrenza diSpazio dei nomi: