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... ) によって呼び出すかのように実行します。タスクの戻り値、またはスローされた例外は共有状態に保存されます。共有状態は準備完了状態となり、これを待機しているスレッドはすべてブロック解除されます。
目次 |
パラメータ
| args | - | 格納されたタスクの呼び出し時に渡すパラメータ |
戻り値
(なし)
例外
std::future_error が以下のエラー条件で発生します:
- 格納されたタスクは既に呼び出されています。エラーカテゴリは promise_already_satisfied に設定されます。
- * this は共有状態を持ちません。エラーカテゴリは no_state に設定されます。
例
|
このセクションは不完全です
理由: 例がありません |
不具合報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | 適用対象 | 公開時の動作 | 正しい動作 |
|---|---|---|---|
| LWG 2142 | C++11 |
operator
(
)
の成功した呼び出しは、
自身と共有状態を共有する std::future または std::shared_future のメンバ関数呼び出しと同期される |
共有状態によって既に提供される同期保証以外に
追加の同期保証はない |
関連項目
|
関数を実行し、現在のスレッドが終了した時点でのみ結果が準備完了となることを保証します
(公開メンバ関数) |