<future>
Zawierać standardowy nagłówek <przyszłych> do definiowania klas szablonów i obsługi szablonów, które upraszczają uruchomienia funkcji — na przykład w oddzielnym wątku — i pobierania jej wynik.Wynikiem jest wartość zwracana przez funkcję lub wyjątek, który jest emitowany przez funkcję, ale nie jest wyłapywany w funkcji.
Nagłówek ten używa współbieżność Runtime (ConcRT) tak, aby można go było używać razem z innymi mechanizmami ConcRT.Aby uzyskać więcej informacji o ConcRT, zobacz Współbieżność środowiska wykonawczego.
#include <future>
Uwagi
[!UWAGA]
W kodzie, który jest kompilowany przy użyciu /clr lub /clr:pure, Nagłówek ten jest zablokowany.
Asynchronicznego dostawca przechowuje wyników wywołania funkcji.Asynchronicznego obiektu zwrotu jest używana do pobierania wyników wywołania funkcji.Asynchronicznego państwie stowarzyszonym zapewnia komunikację między asynchronicznego dostawcy i jeden lub więcej obiektów zwrotu asynchronicznego.
Program nie bezpośrednio tworzyć żadnych obiektów państwo stowarzyszone asynchronicznego.Program tworzy asynchronicznego dostawcy przy każdym potrzebuje jednego i od tego tworzy obiekt zwrotu asynchronicznego akcji stanu asynchronicznego skojarzony z dostawcą.Asynchroniczne dostawców i asynchronicznych obiektów zwrotu zarządzać obiektami, które prowadzą ich wspólnego asynchronicznego państwie stowarzyszonym.Jeśli ostatni obiekt odwołujący się państwo stowarzyszone asynchronicznego zwalnia go, obiekt, który przechowuje państwo stowarzyszone asynchroniczne jest niszczony.
Asynchroniczne dostawcy lub asynchronicznego obiektu zwrotu, który ma nie państwo stowarzyszone asynchroniczne jest pusty.
Jest skojarzony stan asynchronicznego Gotowe tylko wtedy, gdy jej dostawcę asynchroniczny ma przechowywana wartość zwracana lub przechowywane wyjątek.
Funkcja szablon async i klas szablonów promise i packaged_task są asynchroniczne dostawcy.Szablon klasy future i shared_future opisują obiekty zwrotu asynchronicznego.
Każdą z klas szablon promise, future, i shared_future ma specjalizacji dla typu void i częściowa specjalizacja do przechowywania i pobierania wartości przez odniesienie.Specjalizacje te różnią się od szablonu podstawowego tylko w przypadku podpisów i semantyki przechowywania i pobierania zwracaną wartość funkcji.
Klas szablonów future i shared_future nigdy nie blokuj w ich destruktory, z wyjątkiem w jednym przypadku, która zostanie zachowana zgodność z poprzednimi wersjami: w przeciwieństwie do innych prognoz dla future— lub ostatni shared_future— dołączony do zadania uruchomione z std::async, bloki destruktor, jeśli zadanie nie zostało ukończone; oznacza to, że blokuje Jeśli ten wątek nie jeszcze wywołana .get() lub .wait() i zadanie jest nadal uruchomione.Następującą uwagę użyteczność został dodany do opisu std::async w standardowej wersji roboczej: "[Uwaga: Jeżeli przyszłość, uzyskane z poniższe propozycje są przemieszczane poza zakres lokalny, inny kod, który używa przyszłości muszą być świadomi, że przyszłość destruktora może zablokować udostępnionych Państwo staje się gotowy. — Uwaga]" we wszystkich innych przypadkach, future i shared_future destruktory są wymagane i są gwarantowane nigdy nie blokuj.
Elementy członkowskie
Klasy
Nazwa |
Opis |
---|---|
W tym artykule opisano asynchronicznego obiektu zwrotu. |
|
W tym artykule opisano exception obiekt, który może zostać wygenerowany przy użyciu metod typy, które zarządzają future obiektów. |
|
Opisuje asynchronicznego dostawca, który jest otoką rozmów i którego podpis wywołania jest Ty(ArgTypes...).Stanu asynchronicznego skojarzone przechowuje kopię jego nieopłacona obiekt oprócz potencjalnych wyników. |
|
Opisuje dostawcę asynchronicznego. |
|
W tym artykule opisano asynchronicznego obiektu zwrotu.W przeciwieństwie do z future obiektu, asynchroniczny dostawcy można skojarzyć z dowolną liczbą shared_future obiektów. |
Struktury
Nazwa |
Opis |
---|---|
Specjalizacja, który wskazuje, że future_errc nadaje się do przechowywania error_code. |
|
Specjalizacja, który zawsze pozostaje prawdziwe. |
Funkcje
Nazwa |
Opis |
---|---|
Reprezentuje asynchronicznego dostawcy. |
|
Zwraca odwołanie do error_category obiekt, który charakteryzuje się błędów, które są związane z future obiektów. |
|
Tworzy error_code , który ma error_category obiekt, który charakteryzuje future błędy. |
|
Tworzy error_condition , który ma error_category obiekt, który charakteryzuje future błędy. |
|
Wymian asynchronicznych państwo stowarzyszone jednego promise obiektu do innego. |
Wyliczenia
Nazwa |
Opis |
---|---|
Dostarcza nazw symbolicznych dla błędów, które zostały zgłoszone przez future_error klasy. |
|
Dostarcza symboliczne nazwy dla przyczyn, które może zwrócić czasowa funkcja oczekiwania. |
|
Reprezentuje typ maski bitowej, który opisuje możliwe tryby funkcji szablonu async. |