命名空间
变体
操作

std::promise<R>::get_future

来自 cppreference.com
< cpp‎ | thread‎ | promise
 
 
并发支持库
线程
(C++11)
(C++20)
this_thread 命名空间
(C++11)
(C++11)
(C++11)
协作式取消
互斥
(C++11)
通用锁管理
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
条件变量
(C++11)
信号量
闩锁和屏障
(C++20)
(C++20)
期货
(C++11)
(C++11)
(C++11)
(C++11)
安全回收
(C++26)
危险指针
原子类型
(C++11)
(C++20)
原子类型初始化
(C++11)(C++20 中已弃用)
(C++11)(C++20 中已弃用)
内存排序
原子操作的自由函数
原子标志的自由函数
 
 
std::future<R> get_future();
(自 C++11 起)

返回与 *this 相同共享状态关联的期货对象。

如果 *this 没有共享状态或已调用 get_future,则会抛出异常。要获取 promise-future 通信通道的多个“弹出”端,请使用 std::future::share

对该函数的调用不会对对 set_valueset_exceptionset_value_at_thread_exitset_exception_at_thread_exit 的调用引入数据竞争(因此它们不需要相互同步)。

[编辑] 参数

(无)

[编辑] 返回值

引用 *this 的共享状态的期货。

[编辑] 异常

在以下条件下,std::future_error

  • *this 没有共享状态。错误代码设置为 no_state
  • get_future() 已经对与 *this 相同共享状态的 promise 调用过。错误代码设置为 future_already_retrieved