task_group::run_and_wait, méthode
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.
template<
class _Function
>
task_group_status run_and_wait(
task_handle<_Function>& _Task_handle
);
template<
class _Function
>
task_group_status run_and_wait(
const _Function& _Func
);
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 à la tâche qui sera exécutée inline sur le contexte d'appel. 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 run_and_wait finisse l'exécution._Func
Fonction qui sera appelée pour appeler le corps du travail. Il peut s'agir d'une expression lambda ou d'autre objet qui prend en charge une version de l'opérateur d'appel de fonction avec la signature void operator()().
Valeur de retour
Indique si l'attente a été respectée ou si le groupe de tâches a été annulé, en raison d'une opération d'annulation explicite ou d'une exception levée par une de ses tâches. Pour plus d'informations, consultez task_group_status.
Notes
Notez qu'une ou plusieurs des tâches planifiées pour cet objet task_group peuvent s'exécuter inline dans le contexte d'appel.
Si une ou plusieurs des tâches planifiées pour cet objet task_group lève une exception, le runtime choisira une exception de ce type et la propagera hors de l'appel à la méthode run_and_wait.
Au retour de la méthode run_and_wait sur un objet task_group, le runtime réinitialise l'objet sur un état propre dans lequel il peut être réutilisé. Cela inclut le cas où l'objet task_group a été annulé.
Dans le chemin d'accès d'exécution non exceptionnel, vous avez un mandat pour appeler cette méthode ou la méthode wait avant que le destructeur du task_group ne s'exécute.
Configuration requise
En-tête : ppl.h
Espace de noms d'accès : Concurrency