Partager via


<future>

Incluez l'en-tête standard <future> pour définir les classes de modèle et les modèles de prise en charge qui simplifient l'exécution d'une fonction - possible dans un distinct thread- et la récupération de son résultat.Le résultat est soit la valeur retournée par la fonction ou une exception qui est émise par la fonction mais n'est pas interceptée dans la fonction.

Cet en-tête utilise le runtime d'accès concurrentiel (ConcRT) pour pouvoir l'utiliser avec d'autres mécanismes de ConcRT.Pour plus d'informations sur ConcRT, consultez Concurrency Runtime.

#include <future>

Notes

[!REMARQUE]

Dans le code compilé à l'aide de /clr ou d' /clr:pure, cet en-tête est bloqué.

Un fournisseur asynchrone stocke le résultat d'un appel de fonction.Un objet de retour asynchrone est utilisé pour récupérer le résultat d'un appel de fonction.Un rapport asynchrone associé fournit la communication entre un fournisseur asynchrone et un ou plusieurs objets de retour asynchrones.

Un programme ne crée directement un objet d'état asynchrone associé.Le programme crée un fournisseur asynchrone chaque fois qu'il a besoin d'un et de celui il crée un objet de retour asynchrone qui partage son état asynchrone associé au fournisseur.Les fournisseurs asynchrones et les objets de retour asynchrones gèrent les objets qui contiennent leur état asynchrone associé partagé.Lorsque le dernier objet qui référence l'état asynchrone associé le libère, l'objet qui conserve l'état asynchrone associé est détruit.

Un fournisseur asynchrone ou un objet de retour asynchrone qui n'a pas d'état asynchrone associé est vide.

Un rapport asynchrone associé est prêt uniquement si son fournisseur asynchrone a signalé une valeur de retour ou a signalé une exception.

La fonction async de modèle et les classes de modèle promise et packaged_task sont les fournisseurs asynchrones.Les classes de modèle future et shared_future décrivent les objets de retour asynchrones.

Chacune des classes de modèle promise, future, et shared_future a une spécialisation du type void et une spécialisation partielle pour stocker et récupérer une valeur par référence.Ces spécialisations diffèrent du modèle principal uniquement dans les signatures et la sémantique des fonctions qui enregistrent et récupèrent la valeur retournée.

Membres

Hh920535.collapse_all(fr-fr,VS.110).gifClasses

Nom

Description

future classe

Décrit un objet de retour asynchrone.

classe de future_error

Décrit un objet d'exception qui peut être levée par les méthodes de types qui gèrent des objets d' future .

classe de packaged_task

Décrit un fournisseur asynchrone qui est un wrapper d'appel et dont la signature d'appel est Ty(ArgTypes...).Son état asynchrone associé contient une copie de l'objet appelé en plus de le résultat potentiel.

promise Class

Décrit un fournisseur asynchrone.

classe de shared_future

Décrit un objet de retour asynchrone.Contrairement à un objet d' future, un fournisseur asynchrone peut être associé à plusieurs objets d' shared_future .

Hh920535.collapse_all(fr-fr,VS.110).gifStructures

Nom

Description

structure d'is_error_code_enum

La spécialisation qui pointe vers cet future_errc convient pour stocker error_code.

structure d'uses_allocator

Spécialisation qui juge toujours true.

Hh920535.collapse_all(fr-fr,VS.110).gifFonctions

Nom

Description

fonction async

Représente un fournisseur asynchrone.

fonction future_category

Retourne une référence à l'objet d' error_category qui caractérise les erreurs associées aux objets d' future .

fonction de make_error_code

Crée error_code qui a l'objet d' error_category qui caractérise des erreurs d' future .

fonction de make_error_condition

Crée error_condition qui a l'objet d' error_category qui caractérise des erreurs d' future .

fonction d'échange (<future>)

Permute l'état asynchrone associé à un objet d' promise à celui des autres.

Hh920535.collapse_all(fr-fr,VS.110).gifÉnumérations

Nom

Description

énumération de future_errc

Fournit des noms symboliques pour les erreurs qui sont stockées par la classe d' future_error .

énumération de future_status

Fournit des noms symboliques pour les raisons pour lesquelles une fonction chronométrée d'attente peut retourner.

launch Enumeration

Représente un type de masque de bits qui décrit les modes possibles pour la fonction asyncde modèle.

Voir aussi

Autres ressources

Fichiers d'en-tête