structured_task_group::run, méthode

Planifie une tâche sur l'objet structured_task_group. L'appelant gère la durée de vie de l'objet task_handle passé dans le paramètre _Task_handle.

template<
   class _Function
>
void run(
   task_handle<_Function>& _Task_handle
);

Paramètres

  • _Function
    Type de l'objet de fonction qui sera appelé pour exécuter le corps du handle de tâche.

  • _Task_handle
    Handle au travail qui est planifié. Notez que l'appelant est responsable de la durée de vie de cet objet. Le runtime continuera à attendre qu'il vive jusqu'à ce que la méthode wait ou run_and_wait a été appelée sur cet objet structured_task_group.

Notes

Le runtime créé une copie de la fonction de travail que vous passez à cette méthode. Aucune modification d'état se produisant dans un objet de fonction que vous passez à cette méthode ne s'affichera dans votre copie de cet objet de fonction.

Si la destruction de structured_task_group résulte d'un déroulement de pile provenant d'une exception, vous n'avez pas besoin de vous assurer qu'un appel a été passé à la méthode wait ou run_and_wait. Dans ce cas, le destructeur annulera et attendra que la tâche représentée par le paramètre _Task_handle se termine.

Lève une exception invalid_multiple_scheduling si le handle de tâche donné par le paramètre _Task_handle a déjà été planifié sur un objet groupe de tâches via la méthode run et si aucun appel à la wait ou run_and_wait n'est intervenu sur ce groupe de tâches.

Configuration requise

En-tête : ppl.h

Espace de noms d'accès : Concurrency

Voir aussi

Référence

structured_task_group, classe

structured_task_group::wait, méthode

Concepts

Parallélisme des tâches (runtime d'accès concurrentiel)

Autres ressources

structured_task_group::run_and_wait, méthode