Compartilhar via


Método packaged_task::make_ready_at_thread_exit

Chama o objeto acessível que é armazenado no estado assíncrona associado e armazena o valor atômico retornado.

void make_ready_at_thread_exit(ArgTypes... args);

Comentários

Se o objeto de packaged_task não tem um estado assíncrona associado, gera esse método future_error que tem um código de erro de no_state.

Se esse método ou make_ready_at_thread_exit já foram chamados já para um objeto de packaged_task que tem o mesmo estado associado assíncrona, o método gerará future_error que tem um código de erro de promise_already_satisfied.

Caso contrário, esse operador chama INVOKE(fn, args..., Ty), onde é fn o objeto acessível que é armazenado no estado assíncrona associado. Qualquer valor atômico retornado é armazenado como o resultado retornado do estado assíncrona associado.

Em contraste com Operador packaged_task::operator(), o estado assíncrona associado não está definido como ready até que o thread local no thread de chamada após serem destruídos. Normalmente, os threads que estão bloqueados no estado assíncrona associado não foram desbloqueadas até que o thread de chamada encerrado.

Requisitos

Cabeçalho: futuro

std de Namespace:

Consulte também

Referência

Classe packaged_task

<future>