std::shared_future
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <future> で定義
|
||
template< class T > class shared_future; |
(1) | (C++11以上) |
template< class T > class shared_future<T&>; |
(2) | (C++11以上) |
template<> class shared_future<void>; |
(3) | (C++11以上) |
クラステンプレート std::shared_future は非同期操作の結果にアクセスするための仕組みを提供します。 std::future と同様ですが、同じ共有状態を複数のスレッドが待機することを可能とします。 ムーブのみ可能な (そのため任意の特定の非同期結果を参照できるのは1つのインスタンスに限られる) std::future と異なり、 std::shared_future はコピー可能であり、複数のオブジェクトで同じ共有状態を参照できます。
複数のスレッドからの同じ共有状態へのアクセスは、各々のスレッドが shared_future オブジェクトの個別のコピーを通して行うならば、安全です。
メンバ関数
| フューチャーオブジェクトを構築します (パブリックメンバ関数) | |
| フューチャーオブジェクトを破棄します (パブリックメンバ関数) | |
| 内容を代入します (パブリックメンバ関数) | |
結果の取得 | |
| 結果を返します (パブリックメンバ関数) | |
状態 | |
| フューチャーが共有状態を持っているかどうか調べます (パブリックメンバ関数) | |
| 結果が利用可能になるのを待ちます (パブリックメンバ関数) | |
| 結果を待ちます。 指定されたタイムアウト期間が満了するまで利用可能にならなければリターンします (パブリックメンバ関数) | |
| 結果を待ちます。 指定時刻に達するまで利用可能にならなければリターンします | |