次の方法で共有


task_completion_event クラス

task_completion_event クラスを使用すると、条件が満たされるまで、または外部イベントに応答してタスクを開始するまで、タスクの実行を遅延できます。

template<
   typename _ResultType
>
class task_completion_event;

template<>
class task_completion_event<void>;

パラメーター

  • _ResultType
    この task_completion_event クラスの結果の型。

  • T

メンバー

パブリック コンストラクター

名前

説明

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

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

パブリック メソッド

名前

説明

task_completion_event::set メソッド

オーバーロードされます。 タスクの完了イベントを設定します。

task_completion_event::set_exception メソッド

オーバーロードされます。 このイベントに関連付けられているすべてのタスクに例外を反映します。

解説

タスクを作成するシナリオで、将来のいずれかの時点でタスクが終了し、そのタスクの継続が実行されるようにスケジュールする必要がある場合、タスクの完了イベントから作成されるタスクを使用します。 task_completion_event には、作成するタスクと同じ型を含める必要があります。また、その型の値を使用し、タスクの完了イベントで set メソッドを呼び出すと、関連するタスクが完了し、その値が結果としてタスクの継続に渡されます。

タスクの完了イベントがシグナルを受け取らない場合、そのイベントから作成されたタスクは、イベントが破棄されるときに取り消されます。

task_completion_event は、スマート ポインターのように動作し、値渡しされる必要があります。

継承階層

task_completion_event

必要条件

ヘッダー: ppltasks.h

名前空間: concurrency

参照

関連項目

concurrency 名前空間

task クラス