命名空间
变体
操作

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

来自 cppreference.com
 
 
并发支持库
线程
(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 中已弃用)
内存顺序
原子操作的自由函数
原子标志的自由函数
 
 
void operator()( ArgTypes... args );
(自 C++11 起)

调用存储的任务,如同使用 INVOKE<R>(f, args...),其中 f 是存储的任务。任务的返回值或任何抛出的异常都存储在共享状态中。共享状态变为就绪状态,任何等待此状态的线程都会被解除阻塞。

内容

[编辑] 参数

args - 调用存储的任务时要传递的参数

[编辑] 返回值

(无)

[编辑] 异常

在以下错误情况下会抛出 std::future_error

[编辑] 示例

[编辑] 缺陷报告

以下行为更改缺陷报告已追溯应用于以前发布的 C++ 标准。

DR 应用于 已发布的行为 正确行为
LWG 2142 C++11 operator() 的成功调用与
对共享其共享状态的 std::future
std::shared_future 的任何成员函数的调用同步
除了共享状态提供的同步之外,没有额外的同步
除了共享状态提供的同步之外,没有额外的同步
没有额外的同步

[编辑] 另请参阅

执行函数,确保结果仅在当前线程退出时才变为就绪状态
(公共成员函数) [编辑]