Condividi tramite


Metodo packaged_task::make_ready_at_thread_exit

Chiama l'oggetto chiamabile archiviato nello stato collegato asincrono e di archiviare il valore restituito.

void make_ready_at_thread_exit(ArgTypes... args);

Note

Se l'oggetto di packaged_task non ha una condizione asincrono collegato, il metodo genera un'eccezione future_error che disponga di un codice di errore no_state.

Se il metodo o make_ready_at_thread_exit è già stato chiamato per un oggetto di packaged_task con lo stesso stato asincrono connesso, il metodo genera future_error con un codice di errore promise_already_satisfied.

In caso contrario, questo operatore chiama INVOKE(fn, args..., Ty), dove fn è l'oggetto chiamabile archiviato nello stato asincrono collegato. Qualsiasi valore restituito viene archiviato in modalità atomica come risultato restituito lo stato asincrono collegato.

Al contrario di Operatore packaged_task::operator(), lo stato collegato asincrono non è impostato su ready fino a quando tutti gli oggetti distruzione di thread locali nel thread chiamante. In genere, i thread bloccati sullo stato asincrono connesso non vengono sbloccati finché il thread chiamante non termine.

Requisiti

Intestazione: future

Spazio dei nomi: std

Vedere anche

Riferimenti

Classe packaged_task

<future>