Sdílet prostřednictvím


asynchronní funkce

Představuje asynchronní zprostředkovatele.

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

Poznámky

Definice zkratek:

dfn

Výsledek volání decay_copy(forward<Fn>(fn)).

dargs

Výsledky volání decay_copy(forward<ArgsTypes>(args…)).

Ty

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

První šablona vrátí async(launch::any, fn, args…).

Druhá funkce vrací future<Ty> objekt, jehož spojené asynchronního stavu obsahuje výsledek spolu s hodnotami dfn a dargs a objekt vlákna ke správě samostatný podproces provádění.

Není-li decay<Fn>::type je typ než spuštění, druhá funkce není součástí procedury s pozdní vazbou.

If policy is launch::any, the function might choose launch::async or launch::deferred.V této implementaci funkce, která používá launch::async.

Pokud policy je launch::async, funkce vytvoří podproces, který je vyhodnocen jako INVOKE(dfn, dargs..., Ty).Po vytvoření vlákna bez čekání na výsledky, vrátí funkce.Pokud systém nelze spustit nové vlákno, vyvolá funkci system_error , který má kód chyby resource_unavailable_try_again.

Pokud policy je launch::deferred, funkce označí jeho přidruženým státem asynchronní jako hospodářství odložené funkce a vrátí.První volání funkce bez časového omezení, kterou čeká přidružené asynchronní státu platit připraven, volá funkci odloženého vyhodnocením INVOKE(dfn, dargs..., Ty).

Ve všech případech přidružené asynchronního stavu future objekt není nastaven na připraven do hodnocení INVOKE(dfn, dargs…, Ty) dokončení vyvolání výjimky nebo vrácení normálně.Výsledek přidruženým státem asynchronní je výjimka, pokud jedna výjimka nebo hodnotu, která je vrácena pomocí hodnocení.

Pseudo-function INVOKE je definována v <functional>.

Požadavky

Záhlaví: budoucí

Obor názvů: std

Viz také

Referenční dokumentace

<future>

result_of Class

budoucí třídy

Další zdroje

Soubory hlaviček