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_exceptionhh920527(v=vs.120).mdset_value或 set_value_at_thread_exitset_value_at_thread_exit 有错误代码 promise_already_satisfied,同一个关联的异步状态的 promise 对象已被调用,此方法将引发 future_error

set_value相反,关联异步状态直到当前线程上的所有线程被销毁后才会设置为准备状态。 通常在关联的异步状态阻塞的线程不会阻止,直到当前线程退出。

第一个方法当Val 复制到异步关联状态时会抛出异常。

第一个方法当Val 复制到异步关联状态时会抛出异常。

对于部分专用化 promise<Ty&>,存储的值实际上是对 Val的引用。

对专用化 promise<void>,存储的值不存在。

要求

标头: future

命名空间: std

请参见

参考

promise 类

<future>