task クラス
並列パターン ライブラリ (PPL) task クラス。 task オブジェクトは、非同期的に、他のタスクと同時に実行できる処理、および同時実行ランタイムの並列アルゴリズムによって生成される並列処理を表します。 正常に終了した場合は、型 _ResultType の結果が生成されます。 型 task<void> のタスクでは結果が作成されません。 タスクは、他のタスクと関係なく待機および取り消しできます。 また、continuations(then)、および join(when_all) パターンと choice(when_any) パターンを使用して、他のタスクと共に構成することもできます。
注意
このトピックでは、C++ REST SDK 1.0 (コード名 "Casablanca") について説明します。Codeplex の Casablanca の Web ページからそれ以降のバージョンを使用している場合は、http://casablanca.codeplex.com/documentation のローカル ドキュメントを使用します。
template < typename _Type > class task; template <> class task<void>; template< typename _ReturnType > class task;
パラメーター
_Type
T
_ReturnType
このタスクの結果の型。
メンバー
パブリック typedef
名前 |
説明 |
---|---|
result_type |
このクラスのオブジェクトによって生成される結果の型。 |
パブリック コンストラクター
名前 |
説明 |
---|---|
オーバーロードされます。 task オブジェクトを構築します。 |
パブリック メソッド
名前 |
説明 |
---|---|
オーバーロードされます。 このタスクによって生成された結果を返します。 タスクが終了状態にない場合、get への呼び出しは、そのタスクが完了するまで待機します。 このメソッドは、result_type が void に指定されたタスクで呼び出された場合は値を返しません。 |
|
タスクが Windows ランタイム IAsyncInfo インターフェイスをラップ解除するか、こうしたタスクの子であるかを決定します。 |
|
タスクが完了したかどうかを決定します。 |
|
このタスクのスケジューラを返します |
|
オーバーロードされます。 継続タスクをこのタスクに追加します。 |
|
このタスクが終了状態になるまで待機します。 タスクの依存関係すべてが満たされ、バックグラウンド ワーカーによって実行用にまだ検出されていない場合、wait はタスクをインラインで実行できます。 |
パブリック演算子
名前 |
説明 |
---|---|
オーバーロードされます。 2 つの task オブジェクトが異なる内部タスクを表すかどうかを決定します。 |
|
オーバーロードされます。 ある task オブジェクトの内容を別のオブジェクトの内容で置き換えます。 |
|
オーバーロードされます。 2 つの task オブジェクトが同じ内部タスクを表すかどうかを決定します。 |
解説
詳細については、「タスクの並列化 (同時実行ランタイム)」を参照してください。
必要条件
ヘッダー: pplxtasks.h
名前空間: pplx