std::packaged_task<R(Args...)>::operator()

void operator()( ArgTypes... args );
(C++11 起)

如同以 INVOKE<R>(f, args...) 调用存储的任务 f。任务返回值或任何抛出的异常被存储于共享状态。令共享状态就绪,并解除阻塞任何等待此操作的线程。

参数

args - 调用时传递给存储任务的形参

返回值

(无)

异常

在以下情况抛出 std::future_error

示例

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 2142 C++11 operator() 的成功调用会与对 *this 共享共享状态的
std::futurestd::shared_future 的任意成员函数的调用同步
不会在共享状态已提供的
内容外作任何同步保证

参阅

执行函数,并确保结果仅在一旦当前线程退出时就绪
(公开成员函数)