Partager via


task (Concurrency Runtime), classe

Classe task de la bibliothèque de modèles parallèles (PPL, Parallel Patterns Library). Un objet task représente le travail qui peut être exécuté de manière asynchrone et simultanément avec d'autres tâches et le travail parallèle produit par des algorithmes parallèles dans le runtime d'accès concurrentiel. Il génère un résultat de type _ResultType quand il s'exécute correctement. Les tâches de type task<void> ne génèrent aucun résultat. Une tâche peut être mise en attente et annulée indépendamment des autres tâches. Elle peut également être composée avec d'autres tâches à l'aide de continuations (then) et de modèles de jointure (when_all) et de choix (when_any).

template <    typename _Type > class task;  template <> class task<void>;  template<    typename _ReturnType > class task;

Paramètres

  • _Type

  • T

  • _ReturnType
    Type de résultat de cette tâche.

Membres

Typedefs publics

Nom

Description

result_type

Type de résultat produit par un objet de cette classe.

Constructeurs publics

Nom

Description

task::task, constructeur

Surchargé. Construit un objet task.

M&#233;thodes publiques

Nom

Description

task::get, méthode

Surchargé. Retourne le résultat produit par cette tâche. Si la tâche n'est pas dans un état terminal, un appel à get attendra que la tâche se termine. Cette méthode ne retourne pas de valeur lorsqu'elle est appelée sur une tâche dont le result_type a la valeur void.

task::is_apartment_aware, méthode

Détermine si la tâche désencapsule une interface IAsyncInfo Windows Runtime ou descend de cette tâche.

task::is_done, méthode (runtime d'accès concurrentiel)

Détermine si la tâche est terminée.

task::scheduler, méthode (runtime d'accès concurrentiel)

Retourne le planificateur pour cette tâche.

task::then, méthode

Surchargé. Ajoute une tâche de continuation à cette tâche.

task::wait, méthode

Attend que cette tâche atteigne un état terminal. Il est possible que wait exécute la tâche inline si toutes les dépendances de tâches sont remplies et si elle n'a pas déjà été sélectionnée pour être exécutée par un processus de travail d'arrière-plan.

Op&#233;rateurs publics

Nom

Description

task::operator!=, opérateur

Surchargé. Détermine si deux objets task représentent différentes tâches internes.

task::operator=, opérateur

Surchargé. Remplace le contenu d'un objet task par un autre.

task::operator==, opérateur

Surchargé. Détermine si deux objets task représentent la même tâche interne.

Notes

La classe de tâche et les types connexes définis dans ppltasks.h sont transférables entre les plateformes et constituent la base du Kit de développement logiciel (SDK) C++ REST, bibliothèque portable pour HTTP asynchrone.

Pour plus d'informations, consultez Parallélisme des tâches (runtime d'accès concurrentiel).

Hiérarchie d'héritage

task

Configuration requise

En-tête : ppltasks.h

Espace de noms : concurrency

Voir aussi

Référence

concurrency, espace de noms