Condividi tramite


<future>

Includere l'intestazione standard <future> per definire classi modello e i modelli di supporto che semplificano eseguire una funzione - possibile in un oggetto distinto i thread e recuperare il risultato.Il risultato è minore del valore restituito dalla funzione o un'eccezione generata dalla funzione ma non viene intercettata nella funzione.

Questa intestazione utilizza il runtime di concorrenza (ConcRT) poterlo utilizzare con altri meccanismi ConcRT.Per ulteriori informazioni su ConcRT, vedere Runtime di concorrenza.

#include <future>

Note

[!NOTA]

Nel codice compilato utilizzando /clr o /clr:pure, questa intestazione è bloccata.

Un provider asincrono archivia il risultato di una chiamata di funzione.Un oggetto di ritorno asincrono viene utilizzato per recuperare il risultato di una chiamata di funzione.Uno stato asincrono connesso fornisce la comunicazione tra un provider asincrono e uno o più oggetti di ritorno asincroni.

Un programma direttamente non crea alcuni oggetti asincroni stati collegati.Il programma crea un provider asincrono ogni volta che disponga di uno e da quello creato un oggetto di ritorno asincrono che condivide il relativo stato asincrono collegato al provider.I provider asincroni e gli oggetti di ritorno asincroni gestiscono gli oggetti che utilizzano il relativo stato asincrono l'accesso condiviso.Quando l'ultimo oggetto che fa riferimento alle versioni di stato asincrone collegate, l'oggetto che contiene lo stato collegato asincrono viene eliminato.

Un provider asincrono o un oggetto di ritorno asincrono che non è stato collegato asincrono è vuoto.

Uno stato asincrono collegato è possibile solo se il provider asincrono archiviare un valore restituito o archiviare un'eccezione.

La funzione async modello e delle classi modello promise e packaged_task sono provider asincroni.Le classi modello future e shared_future descritti gli oggetti di ritorno asincroni.

Ciascuna classe modello promise, futuree shared_future è una specializzazione per il tipo void e una specializzazione parziale per archiviare e recuperare un valore da riferimento.Queste specializzazioni differiscono dal template primario solo nelle firme e la semantica delle funzioni per la memorizzazione e il recupero del valore restituito.

Membri

Hh920535.collapse_all(it-it,VS.110).gifClassi

Nome

Descrizione

classe future

Descrive un oggetto di ritorno asincrono.

classe di future_error

Descrive un oggetto eccezione può essere generata dai metodi di tipi che gestiscono gli oggetti di future.

classe di packaged_task

Viene descritto un provider asincrono che è un wrapper di chiamata e la cui firma di chiamata è Ty(ArgTypes...).Il relativo stato collegato asincrono utilizza una copia del relativo oggetto chiamabile oltre al risultato potenziale.

promise Class

Viene descritto un provider asincrono.

classe di shared_future

Descrive un oggetto di ritorno asincrono.A differenza di un oggetto di future, un provider asincrono può essere associato a un numero qualsiasi di oggetti di shared_future.

Hh920535.collapse_all(it-it,VS.110).gifStrutture

Nome

Descrizione

struttura di is_error_code_enum

Specializzazione che indica che future_errc è appropriato per archiviare error_code.

struttura di uses_allocator

Specializzazione che sempre poter.

Hh920535.collapse_all(it-it,VS.110).gifFunzioni

Nome

Descrizione

funzione async

Rappresenta un provider asincrono.

funzione future_category

Restituisce un riferimento all'oggetto di error_category che presentano errori associati agli oggetti di future.

funzione make_error_code

Crea error_code con l'oggetto di error_category che presentano errori di future.

funzione make_error_condition

Crea error_condition con l'oggetto di error_category che presentano errori di future.

funzione scambio (<future>)

Scambia lo stato asincrono collegato di un oggetto di promise con quello di un altro.

Hh920535.collapse_all(it-it,VS.110).gifEnumerazioni

Nome

Descrizione

enumerazione di future_errc

Fornisce nomi simbolici per gli errori restituiti dalla classe di future_error.

enumerazione di future_status

Fornisce nomi simbolici per motivi che una funzione temporizzata di attesa può restituire.

launch Enumeration

Rappresenta un tipo di maschera di bit che vengono descritte le possibili modalità per la funzione asyncdel modello.

Vedere anche

Altre risorse

File di intestazione