task_handle, classe
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