次の方法で共有


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::task コンストラクター (C++ REST SDK)

オーバーロードされます。 task オブジェクトを構築します。

パブリック メソッド

名前

説明

task::get メソッド (C++ REST SDK)

オーバーロードされます。 このタスクによって生成された結果を返します。 タスクが終了状態にない場合、get への呼び出しは、そのタスクが完了するまで待機します。 このメソッドは、result_typevoid に指定されたタスクで呼び出された場合は値を返しません。

task::is_apartment_aware メソッド (C++ REST SDK)

タスクが Windows ランタイム IAsyncInfo インターフェイスをラップ解除するか、こうしたタスクの子であるかを決定します。

task::is_done メソッド

タスクが完了したかどうかを決定します。

task::scheduler メソッド

このタスクのスケジューラを返します

task::then メソッド (C++ REST SDK)

オーバーロードされます。 継続タスクをこのタスクに追加します。

task::wait メソッド (C++ REST SDK)

このタスクが終了状態になるまで待機します。 タスクの依存関係すべてが満たされ、バックグラウンド ワーカーによって実行用にまだ検出されていない場合、wait はタスクをインラインで実行できます。

パブリック演算子

名前

説明

task::operator!= 演算子 (C++ REST SDK)

オーバーロードされます。 2 つの task オブジェクトが異なる内部タスクを表すかどうかを決定します。

task::operator= 演算子 (C++ REST SDK)

オーバーロードされます。 ある task オブジェクトの内容を別のオブジェクトの内容で置き換えます。

task::operator== 演算子 (C++ REST SDK)

オーバーロードされます。 2 つの task オブジェクトが同じ内部タスクを表すかどうかを決定します。

解説

詳細については、「タスクの並列化 (同時実行ランタイム)」を参照してください。

必要条件

ヘッダー: pplxtasks.h

名前空間: pplx

参照

関連項目

pplx 名前空間