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 |
---|---|
Surchargé. Construit un nouvel objet task_group. |
|
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 |
---|---|
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. |
|
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é. |
|
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. La version qui accepte le paramètre _Placement implique que la tâche soit influencée par l'exécution à l'emplacement spécifié par le paramètre. |
|
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. |
|
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 : concurrency