task_handle, classe
La classe task_handle représente un élément de travail parallèle individuel. Il encapsule les instructions et les données obligatoires pour exécuter un travail.
template<
typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;
Paramètres
- _Function
Type de l'objet de fonction qui sera appelé pour exécuter le travail représenté par l'objet task_handle.
Membres
Constructeurs publics
Nom |
Description |
---|---|
Construit un nouvel objet task_handle. Le travail de la tâche est réalisé en appelant la fonction spécifiée comme un paramètre au constructeur. |
|
Détruit l'objet task_handle. |
Opérateurs publics
Nom |
Description |
---|---|
Opérateur d'appel de fonction appelé par le runtime pour exécuter le travail du handle de tâche. |
Notes
Les objets task_handle peuvent être utilisés conjointement à un structured_task_group ou un objet task_group plus général, pour décomposer le travail en tâches parallèles. Pour plus d'informations, consultez Parallélisme des tâches (runtime d'accès concurrentiel).
Notez que le créateur d'un objet task_handle est chargé de la maintenance de la durée de vie de l'objet task_handle créé, jusqu'à ce qu'il ne soit plus requis par le runtime d'accès concurrentiel. En général, cela signifie que l'objet task_handle ne doit détruire jusqu'à ce que la méthode wait ou run_and_wait du task_group ou structured_task_group dans lequel il est mis en file d'attente ait été appelée.
Les objets task_handle sont utilisés en général conjointement à des expressions lambda C++. Étant donné que vous ne connaissez pas le type réel de lambda, la fonction make_task est généralement utilisée pour créer un objet task_handle.
Le runtime créé une copie de la fonction de travail que vous passez sur un objet task_handle. Par conséquent, aucune modification d'état se produisant dans un objet de fonction que vous passez à un objet task_handle ne s'affichera dans votre copie de cet objet de fonction.
Hiérarchie d'héritage
task_handle
Configuration requise
En-tête : ppl.h
Accès concurrentiel del'espace de noms :
Voir aussi
Référence
task_group::run_and_wait, méthode
structured_task_group::run, méthode