Partager via


packaged_task::make_ready_at_thread_exit, méthode

Appelle l'objet appelable stocké dans l'état asynchrone associé et enregistre atomique la valeur retournée.

void make_ready_at_thread_exit(ArgTypes... args);

Notes

Si l'objet d'packaged_task aucun état asynchrone associé, les cette méthode lève un future_error qui contient le code d'erreur de no_state.

Si cette méthode ou make_ready_at_thread_exit a déjà été appelée pour un objet de packaged_task ayant le même état asynchrone associé, la méthode lève future_error qui contient le code d'erreur de promise_already_satisfied.

Sinon, cet opérateur appelle INVOKE(fn, args..., Ty), où fn est l'objet appelable stocké dans l'état asynchrone associé. Toute valeur renvoyée est enregistrée comme atomique le résultat retourné de l'état asynchrone associé.

Contrairement à packaged_task::operator(), opérateur, l'état asynchrone associé n'a pas la valeur ready jusqu'à ce qu'une fois tous les objets de thread LOCAL dans le thread appelant ont été détruits. En général, les threads qui sont bloqués dans l'état asynchrone associé ne sont pas débloqués jusqu'à ce que le thread appelant se termine.

Configuration requise

En-tête : future

Espace de noms : std

Voir aussi

Référence

packaged_task, classe

<future>