<future>
Schließen Sie den <future> Standardheader ein, um Vorlagenklassen zu definieren und Unterstützenvorlagen, die das Ausführen einer Funktion-möglich in einem separaten Thread- und das Abrufen des Ergebnisses vereinfachen.Das Ergebnis ist entweder der Wert, der von der Funktion oder eine Ausnahme zurückgegeben wird, die von der Funktion ausgegeben wird, aber nicht in der Funktion abgefangen.
Dieser Header verwendet Concurrency Runtime (ConcRT) für Sie ihn mit anderen ConcRT-Mechanismen verwenden können.Weitere Informationen zu ConcRT, finden Sie unter Concurrency Runtime.
#include <future>
Hinweise
Hinweis |
---|
In Code, der kompiliert wird, indem /clr oder /clr:pure verwendet, wird dieser Header blockiert. |
Ein asynchroner Anbieter speichert das Ergebnis eines Funktionsaufrufs.Ein asynchrones Rückholobjekt wird verwendet, um das Ergebnis eines Funktionsaufrufs abzurufen.Ein zugeordneter asynchroner Zustand stellt Kommunikation zwischen einem asynchronen Anbieter und einem oder mehreren asynchronen Rückholobjekten bereit.
Ein Programm erstellt direkt keine zugeordneten asynchronen Zustandsobjekte.Das Programm erstellt einen asynchronen Anbieter, wenn ein erfordert und von dem sie ein asynchrones Rückholobjekt erstellt, das den zugeordneten asynchronen Zustand mit dem Anbieter freigibt.Asynchrone Anbieter und asynchrone Objekte zurückgibt verwalten die Objekte, die ihren freigegebenen zugeordneten asynchronen Zustand enthalten.Wenn das letzte - Objekt, das den zugeordneten asynchronen Zustand verweist, es freigibt, wird das Objekt, das den zugeordneten asynchronen Zustand enthält, zerstört.
Ein asynchroner Anbieter oder ein asynchrones Rückholobjekt, das keinen zugeordneten asynchronen Zustand hat, ist leer.
Ein zugeordneter asynchroner Zustand ist bereit, wenn sein asynchroner Anbieter einen Rückgabewert gespeichert oder eine Ausnahme gespeichert hat.
Die Vorlagenfunktion async und die Vorlagenklassen promise und packaged_task sind asynchrone Anbieter.Die Vorlagenklassen future und shared_future beschreiben asynchrone Objekte zurückgibt.
Jede der Vorlagenklassen promise, future und shared_future hat eine Spezialisierung für den Typ void und eine teilweise Spezialisierung zum Speichern und Abrufen eines Werts durch einen Verweis.Diese Spezialisierungen unterscheiden sich von der primären Vorlage nur in den Signaturen und in der Semantik der Funktionen, die den zurückgegebenen Wert speichern und abrufen.
Mitglieder
Klassen
Name |
Beschreibung |
---|---|
Beschreibt ein asynchrones Rückholobjekt. |
|
Beschreibt ein Ausnahmeobjekt, das von Methoden von Typen ausgelöst werden kann, die future-Objekte verwalten. |
|
Beschreibt einen asynchronen Anbieter, der ein Aufrufswrapper ist und dessen Aufrufsunterzeichnung Ty(ArgTypes...) ist.Der zugeordneter asynchroner Zustand enthält eine Kopie des Objekts aufrufbaren zusätzlich zum möglichen Ergebnisse an. |
|
Beschreibt einen asynchronen Anbieter. |
|
Beschreibt ein asynchrones Rückholobjekt.Im Gegensatz zu einem future-Objekt kann ein asynchroner Anbieter mit einer beliebigen Anzahl shared_future-Objekten zugeordnet sind. |
Strukturen
Name |
Beschreibung |
---|---|
Spezialisierung, die dieses future_errc angibt, ist für das Speichern von error_code geeignet. |
|
Spezialisierung, die immer true enthält. |
Funktionen
Name |
Beschreibung |
---|---|
Stellt einen asynchronen Anbieter dar. |
|
Gibt einen Verweis auf den error_category-Objekt zurück, das Fehler markiert, die mit future-Objekten zugeordnet sind. |
|
Erstellt error_code, das das error_category-Objekt hat, das future Fehler markiert. |
|
Erstellt error_condition, das das error_category-Objekt hat, das future Fehler markiert. |
|
Tauscht den zugeordneten asynchronen Zustand von einem Objekt mit dem promise von anderen aus. |
Enumerationen
Name |
Beschreibung |
---|---|
Stellt symbolische Namen für die Fehler, die von der - Klasse future_error gemeldet werden. |
|
Stellt symbolische Namen für die Gründe dafür, dass eine zeitgesteuerte Wartefunktion aktiviert zurückgeben kann. |
|
Stellt einen Bitmaskentyp dar, der die möglichen Modi für die Vorlagenfunktion async beschreibt. |