<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
Classes
Nom |
Description |
---|---|
Décrit un objet de retour asynchrone. |
|
Décrit un objet d'exception qui peut être levée par les méthodes de types qui gèrent des objets d' future . |
|
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. |
|
Décrit un fournisseur asynchrone. |
|
Décrit un objet de retour asynchrone.Contrairement à un objet d' future, un fournisseur asynchrone peut être associé à plusieurs objets d' shared_future . |
Structures
Nom |
Description |
---|---|
La spécialisation qui pointe vers cet future_errc convient pour stocker error_code. |
|
Spécialisation qui juge toujours true. |
Fonctions
Nom |
Description |
---|---|
Représente un fournisseur asynchrone. |
|
Retourne une référence à l'objet d' error_category qui caractérise les erreurs associées aux objets d' future . |
|
Crée error_code qui a l'objet d' error_category qui caractérise des erreurs d' future . |
|
Crée error_condition qui a l'objet d' error_category qui caractérise des erreurs d' future . |
|
Permute l'état asynchrone associé à un objet d' promise à celui des autres. |
Énumérations
Nom |
Description |
---|---|
Fournit des noms symboliques pour les erreurs qui sont stockées par la classe d' future_error . |
|
Fournit des noms symboliques pour les raisons pour lesquelles une fonction chronométrée d'attente peut retourner. |
|
Représente un type de masque de bits qui décrit les modes possibles pour la fonction asyncde modèle. |