std::packaged_task<R(Args...)>:: operator()
From cppreference.net
<
cpp
|
thread
|
packaged task
C++
Concurrency support library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::packaged_task
| Member functions | ||||
| Getting the result | ||||
| Execution | ||||
|
packaged_task::operator()
|
||||
| Non-member functions | ||||
| Helper classes | ||||
|
(until C++17)
|
||||
| Deduction guides (C++17) |
|
void
operator
(
)
(
ArgTypes...
args
)
;
|
(自 C++11 起) | |
调用存储的任务,如同通过 INVOKE<R> ( f, args... ) 调用,其中 f 是存储的任务。任务的返回值或抛出的任何异常都将存储在共享状态中。共享状态被置为就绪状态,所有等待该状态的线程将被解除阻塞。
目录 |
参数
| args | - | 调用存储任务时传递的参数 |
返回值
(无)
异常
std::future_error 在以下错误条件下发生:
- 存储的任务已被调用。错误类别设置为 promise_already_satisfied 。
- * this 没有共享状态。错误类别设置为 no_state 。
示例
|
本节内容不完整
原因:缺少示例 |
缺陷报告
下列行为变更缺陷报告被追溯应用于先前发布的C++标准。
| 缺陷报告 | 应用于 | 发布时行为 | 正确行为 |
|---|---|---|---|
| LWG 2142 | C++11 |
对
operator
(
)
的成功调用与
对任何与 * this 共享其共享状态的 std::future 或 std::shared_future 成员函数的调用同步 |
除共享状态已提供的同步保证外,
无额外同步保证 |
参阅
|
执行函数并确保仅当当前线程退出时结果才准备就绪
(公开成员函数) |