std::promise<R>::get_future

< cpp‎ | thread‎ | promise
 
 
线程支持库
线程
(C++11)
(C++20)
(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++11)
(C++11)
条件变量
(C++11)
信号量
闩与屏障
(C++20)
(C++20)
future
(C++11)
(C++11)
(C++11)
(C++11)
 
 
std::future<T> get_future();
(C++11 起)

返回与 *this 关联同一状态的 future 对象。

*this 无共享状态,或已调用 get_future 则抛出异常。可使用 std::future::share 以获取 promise-future 交流通道的多个“弹出”端。

对此函数的调用与对 set_valueset_exceptionset_value_at_thread_exitset_exception_at_thread_exit 的调用不造成数据竞争(但它们不必彼此同步)。

参数

(无)

返回值

指代 *this 的共享状态的 future

异常

遇到下列条件时抛出 std::future_error

  • *this 无共享状态。设置 error_category 为 no_state
  • 已在与 *this 拥有同一共享状态的 promise 上调用 get_future() 。设置 error_category 为 future_already_retrieved