Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
La classe task_handle représente un élément de travail parallèle individuel. Elle encapsule les instructions et les données requises pour exécuter un élément de travail.
Syntaxe
template<
typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;
Paramètres
_Fonction
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 |
|---|---|
| task_handle | Construit un nouvel objet task_handle. Le travail de la tâche est effectué en appelant la fonction spécifiée en tant que paramètre au constructeur. |
| ~task_handle Destructeur | Détruit l’objet task_handle . |
Opérateurs publics
| Nom | Description |
|---|---|
| operator() | Opérateur d’appel de fonction appelé par le runtime pour effectuer le travail du handle de tâche. |
Notes
task_handle les objets peuvent être utilisés conjointement avec un structured_task_group objet ou un objet plus général task_group pour décomposer le travail en tâches parallèles. Pour plus d’informations, consultez Parallélisme des tâches.
Notez que le créateur d’un task_handle objet est responsable de la conservation de la durée de vie de l’objet créé task_handle tant qu’il n’est plus requis par le runtime d’accès concurrentiel. En règle générale, cela signifie que l’objet task_handle ne doit pas détruire tant que l’objet ou run_and_wait la wait méthode du ou structured_task_group de celui-ci task_group est mis en file d’attente a été appelée.
task_handle les objets sont généralement utilisés conjointement avec les lambdaS C++. Étant donné que vous ne connaissez pas le type true de l’expression lambda, la fonction make_task est généralement utilisée pour créer un task_handle objet.
Le runtime crée une copie de la fonction de travail que vous passez à un task_handle objet. Par conséquent, les modifications d’état qui se produisent dans un objet de fonction que vous passez à un task_handle objet n’apparaissent pas dans votre copie de cet objet de fonction.
Hiérarchie d'héritage
task_handle
Spécifications
En-tête : ppl.h
Espace de noms : concurrency
operator()
Opérateur d’appel de fonction appelé par le runtime pour effectuer le travail du handle de tâche.
void operator()() const;
task_handle
Construit un nouvel objet task_handle. Le travail de la tâche est effectué en appelant la fonction spécifiée en tant que paramètre au constructeur.
task_handle(const _Function& _Func);
Paramètres
_Func
Fonction qui sera appelée pour exécuter le travail représenté par l’objet task_handle . Il peut s’agir d’un fonctor lambda, d’un pointeur vers une fonction ou d’un objet qui prend en charge une version de l’opérateur d’appel de fonction avec la signature void operator()().
Notes
Le runtime crée une copie de la fonction de travail que vous passez au constructeur. Par conséquent, les modifications d’état qui se produisent dans un objet de fonction que vous passez à un task_handle objet n’apparaissent pas dans votre copie de cet objet de fonction.
~task_handle
Détruit l’objet task_handle .
~task_handle();
Voir aussi
accès concurrentiel Namespace
Classe task_group
structured_task_group, classe