task_group, classe

La classe task_group représente une collection de travaux parallèles qui peuvent être mis en attente ou annulés.

class task_group;

Membres

Constructeurs publics

Nom

Description

task_group::task_group, constructeur

Construit un nouvel objet task_group.

task_group::~task_group, destructeur

Détruit un objet task_group. Vous devez appeler la méthode wait ou run_and_wait sur l'objet avant exécution du destructeur, sauf si le destructeur s'exécute suite au déroulement de pile en raison d'une exception.

Méthodes publiques

Nom

Description

task_group::cancel, méthode

Fait son possible pour annuler la sous-arborescence de travail rattachée à ce groupe de tâches. Chaque tâche planifiée sur le groupe de tâches sera annulée de manière transitive si possible.

task_group::is_canceling, méthode

Indique à l'appelant si le groupe de tâches est actuellement en cours d'annulation ou pas. Cela n'indique pas nécessairement que la méthode cancel a été appelée sur l'objet task_group (bien que dans ce cas la méthode retourne la valeur true). Cela peut être dû au fait que l'objet task_group s'exécute inline et qu'un groupe de tâches supplémentaire en haut de l'arborescence travail a été annulé. Dans de tels cas où l'exécution peut déterminer à l'avance que cette annulation passera via cet objet task_group, true sera également retourné.

task_group::run, méthode

Surchargé. Planifie une tâche sur l'objet task_group. Si un objet task_handle est passé comme paramètre à run, l'appelant est responsable de la gestion de la durée de vie de l'objet task_handle. La version de la méthode qui prend comme paramètre une référence à un objet de fonction implique l'allocation de tas à l'intérieur du runtime, ce qui peut donner de moins bons résultats que l'utilisation de la version qui prend comme paramètre une référence à un objet task_handle.

task_group::run_and_wait, méthode

Surchargé. Planifie une tâche devant s'exécuter inline dans le contexte d'appel avec l'assistance de l'objet task_group pour une prise en charge complète de l'annulation. La fonction attend ensuite que tout le travail sur l'objet task_group soit terminé ou ait été annulé. Si un objet task_handle est passé comme paramètre à run_and_wait, l'appelant est responsable de la gestion de la durée de vie de l'objet task_handle.

task_group::wait, méthode

Attend que tout le travail sur l'objet task_group soit terminé ou ait été annulé.

Notes

Contrairement à la classe structured_task_group très restreinte, la classe task_group est une construction beaucoup plus générale. Il n'a aucune des restrictions décrites par structured_task_group. Les objets task_group peuvent être utilisés sans risque dans les threads et utilisés avec un format libre. L'inconvénient de la construction task_group est qu'elle peut ne peut fonctionner aussi bien que la construction structured_task_group pour les tâches qui exécutent des petites quantités de travail.

Pour plus d'informations, consultez Parallélisme des tâches (runtime d'accès concurrentiel).

Hiérarchie d'héritage

task_group

Configuration requise

En-tête : ppl.h

Espace de noms d'accès : Concurrency

Voir aussi

Référence

Concurrency, espace de noms

structured_task_group, classe

task_handle, classe