Partager via


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

task_handle::task_handle, constructeur

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.

task_handle::~task_handle, destructeur

Détruit l'objet task_handle.

Opérateurs publics

Nom

Description

task_handle::operator(), opérateur

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

concurrency, espace de noms

task_group, classe

structured_task_group, classe

make_task, fonction

task_group::run, méthode

task_group::wait, méthode

task_group::run_and_wait, méthode

structured_task_group::run, méthode

structured_task_group::wait, méthode

structured_task_group::run_and_wait, méthode