Partager via


task::task, constructeur

Construit un objet task.

task();

template<
   typename _Ty
>
explicit task(
   _Ty_Param
);

template<
   typename _Ty
>
explicit task(
   _Ty_Param,
   cancellation_token _Token
);

task(
   const task& _Other
);

task(
   task&& _Other
);

Paramètres

  • _Ty
    Le type du paramètre de la tâche doit être construite.

  • _Param
    Le paramètre dont la tâche doit être construite.Cela peut être une expression lambda, un objet de fonction, un objet d' task_completion_event<result_type> , ou un Windows::Foundation::IAsyncInfo si vous utilisez des tâches dans votre application du style du métro.L'objet de lambda ou de fonction doit être un type équivalent à std::function<X(void)>, où X peut être une variable de type result_type, task<result_type>, ou un Windows::Foundation::IAsyncInfo dans les applications de style du métro.

  • _Token
    Le jeton d'annulation à associer à cette tâche.Une tâche créée sans jeton d'annulation ne peut pas être annulée.Elle reçoit implicitement **cancellation_token::none()**de jetons.

  • _Other
    Objet task source.

  • _CancellationToken

Notes

Le constructeur par défaut pour task n'est présent afin d'autoriser des tâches d'être utilisé dans des conteneurs.Une tâche créée par défaut ne peut pas être utilisée jusqu'à ce que vous lui assigner une tâche valide.Les méthodes telles que get, wait ou then lèveront une exception d' invalid_argument lorsque invité une tâche créée par défaut.

Une tâche qui est créée d' task_completion_event s'achève (et de ses continuations planifiées) lorsque l'événement d'achèvement de tâche est définie.

La version du constructeur qui prend un jeton d'annulation crée une tâche qui peut être annulée à l'aide de cancellation_token_source le jeton a été obtenue.Les tâches créées sans jeton d'annulation ne sont pas annulables.

Les tâches créées de Windows::Foundation::IAsyncInfo interfaces ou une expression lambda qui retourne une portée d'interface d' IAsyncInfo leur état terminal lorsque les fenêtres placé entre opération asynchrone ou action d'exécution se termine.De même, tâches créées d'un lamda qui retourne une portée d' task<result_type> leur état terminal lorsque la tâche interne atteint son état terminal, et pas lorsque le lamda retourne.

task se comporte comme un pointeur intelligent et est sécurisé pour passer de naviguer par valeur.Il peut être accessibles par plusieurs threads sans nécessiter de verrous.

Les surcharges de constructeur acceptent une interface de Windows::Foundation::IAsyncInfo ou une expression lambda qui retourne une telle interface, sont disponibles uniquement pour les applications de style du métro.

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

Configuration requise

en-tête : ppltasks.h

Accès concurrentiel del'espace de noms :

Voir aussi

Référence

task (Concurrency Runtime), classe