Partager via


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