Partager via


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. La version qui accepte le paramètre _Placement implique que la tâche soit influencé par rapport à l'exécution à l'emplacement spécifié par le paramètre.

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

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

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.

  • _Placement
    Une référence à l'emplacement où la tâche représentée par le paramètre _Task_handle devrait s'exécuter.

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 : concurrency

Voir aussi

Référence

structured_task_group, classe

structured_task_group::wait, méthode

structured_task_group::run_and_wait, méthode

location, classe

Concepts

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