Поделиться через


метод promise::set_value_at_thread_exit

Неделимым блоком, сохраняет значение в результате объекта promise.

void promise::set_value_at_thread_exit(const Ty& Val);
void promise::set_value_at_thread_exit(Ty&& Val);
void promise<Ty&>::set_value_at_thread_exit(Ty& Val);
void promise<void>::set_value_at_thread_exit();

Параметры

  • Val
    Значение, которое будет сохранен как результат.

Заметки

Если объект обещания не имеет связанного с ним асинхронное состояние, этот метод создает исключение future_error, содержащий код ошибки no_state.

Если set_exception, set_exception_at_thread_exit, set_value или set_value_at_thread_exit уже были вызваны для объекта promise, который имеет то же связанных асинхронное состояние, этот метод создает исключение future_error, содержащий код ошибки promise_already_satisfied.

В отличие от set_value, соответствующее асинхронное состояние не задано для подготовки до тех пор, пока наконец локальных объектов потока на текущем потоке не будут уничтожены.Как правило, потоки, блокируются на связанном состоянии асинхронном не разблокируются, пока текущий поток не будет оставаться.

Этот метод также вызывает любое исключение, которое вызывается, когда Val копируется в связанных асинхронное состояние.

Второй метод также создает любое исключение, которое вызывается, когда Val перемещается в связанных асинхронное состояние.

Для частично специализации promise<Ty&>, хранящийся эффективно значение ссылки на Val.

Для специализации promise<void>, не существует, хранящееся значение не существует.

Требования

Возможные Заголовок:

Пространство имен: std

См. также

Ссылки

promise Class

<future>