次の方法で共有


task::task コンストラクター

task オブジェクトを構築します。

task();

template<
   typename _Ty
>
explicit task(
   _Ty_Param
);

template<
   typename _Ty
>
explicit task(
   _Ty_Param,
   cancellation_token _Token
);

task(
   const task& _Other
);

task(
   task&& _Other
);

パラメーター

  • _Ty
    タスクが構築されるパラメーターの型です。

  • _Param
    タスクが構築されたパラメーター。これは、地下鉄のフォーム アプリケーションでタスクを使用すると、ラムダ関数オブジェクト、 task_completion_event<result_type> のオブジェクト、または Windows::Foundation::IAsyncInfo である可能性があります。ラムダまたは関数オブジェクトは X は地下鉄のフォーム アプリケーションの変数の型 result_typetask<result_type>、または Windows::Foundation::IAsyncInfo になる **std::function<X(void)>**と同じ型である必要があります。

  • _Token
    このタスクに関連付けるキャンセル トークン。キャンセル トークンを指定せずに作成されたタスクをキャンセルできません。これは、暗黙的に **cancellation_token::none()**トークンを受け取ります。

  • _Other
    ソース task オブジェクト。

  • _CancellationToken

解説

task の既定のコンストラクターは、現在タスクがコンテナー内で使用されます。既定の構築されたタスクは、有効なタスクを割り当てるまで使用できません。getwait または then などのメソッドに呼び出されると、既定 invalid_argument の例外を組み立てましたタスクをスローします。

task_completion_event から作成されたタスクは、タスクの完了イベントを設定すると完了します (継続をスケジュールします)。

キャンセル トークンを受け取るコンストラクターのバージョンは cancellation_token_source を使用してトークン取り消すことができるタスクを作成します。から派生していますキャンセル トークンを指定せずに作成されたタスクはキャンセルできません。

タスクは Windows::Foundation::IAsyncInfo インターフェイスまたはインターフェイス IAsyncInfo 到達ターミナル状態を返すラムダからクロージャ Windows ランタイムの非同期操作または操作が完了したときに作成されました。同様に、タスクは task<result_type> に到達ターミナル状態を返す lamda から内側のタスクが終了状態に達すると、 lamda が返されるときに作成します。

task は、スマート ポインターのように動作し、値を越えてが安全です。は、ロックに必要なしに複数のスレッドによってアクセスできます。

このようなインターフェイスを返す Windows::Foundation::IAsyncInfo インターフェイスまたはラムダを受け取るコンストラクター オーバーロードは地下鉄のフォーム アプリケーションにのみ使用できます。

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

必要条件

ヘッダー: ppltasks.h

名前空間: の同時実行

参照

関連項目

task クラス (同時実行ランタイム)