Udostępnij za pośrednictwem


Funkcja asynchroniczne

Reprezentuje asynchronicznego dostawcy.

template<class Fn, class... ArgTypes>
   future<typename result_of<Fn(ArgTypes...)>::type>;
      async(Fn&& fn, ArgTypes&&... args);
template<class Fn, class... ArgTypes>
   future<typename result_of<Fn(ArgTypes...)>::type>;
      async(launch policy, Fn&& fn, ArgTypes&&... args);

Parametry

Uwagi

Definicje skrótów:

dfn

W wyniku połączenia decay_copy(forward<Fn>(fn)).

dargs

Wyniki zaproszeń decay_copy(forward<ArgsTypes>(args…)).

Ty

The type result_of<Fn(ArgTypes…)>::type.

Pierwszy szablon, funkcja zwraca async(launch::any, fn, args…).

Druga funkcja zwraca future<Ty> obiekt, którego asynchronicznego państwie stowarzyszonym posiada wynik wraz z wartością dfn i dargs i obiektu wątku do zarządzania oddzielnego wątku wykonywania.

O ile nie decay<Fn>::type jest typu innego niż uruchomienie, druga funkcja nie uczestniczy w wiązaniem.

If policy is launch::any, the function might choose launch::async or launch::deferred.W tej implementacji funkcji używany launch::async.

Jeśli policy jest launch::async, funkcja ta umożliwia tworzenie wątku, którego wynikiem jest INVOKE(dfn, dargs..., Ty).Funkcja zwraca po utworzeniu wątku bez oczekiwania na wyniki.Jeśli system nie może rozpocząć nowy wątek, funkcja wygeneruje system_error który ma kod błędu z resource_unavailable_try_again.

Jeśli policy jest launch::deferred, funkcja oznacza jako gospodarstwo Państwo asynchronicznego stowarzyszone odroczonego funkcji i zwraca.Pierwsze wywołanie do żadnej funkcji bez pomiaru czasu, która oczekuje asynchroniczny państwo stowarzyszone będzie gotowa w efekcie wywołuje funkcję odroczonego poprzez ocenę INVOKE(dfn, dargs..., Ty).

We wszystkich przypadkach, państwo stowarzyszone asynchronicznych, z future obiektu nie jest ustawiona na Gotowe do oceny INVOKE(dfn, dargs…, Ty) zakończeniu generowania wyjątków lub przywracając normalnie.W wyniku asynchronicznego państwo stowarzyszone jest wyjątek, jeśli jeden został wyrzucony lub dowolną wartość, który jest zwracany przez oceny.

Pseudo-function INVOKE jest zdefiniowany w <functional>.

Wymagania

Nagłówek: przyszłych

Obszar nazw: std

Zobacz też

Informacje

<future>

result_of Class

przyszłe klasy

Inne zasoby

Pliki nagłówków