agent::wait_for_one メソッド

指定されたエージェントのいずれかがタスクを完了するのを待ちます。

static void __cdecl wait_for_one(
   size_t _Count,
   _In_reads_(_Count) agent ** _PAgents,
   agent_status& _Status,
   size_t& _Index,
   unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE
);

パラメーター

  • _Count
    配列 _PAgents に存在するエージェント ポインターの数。

  • _PAgents
    待機するエージェントへのポインターの配列。

  • _Status
    エージェントの状態を格納する変数への参照。

  • _Index
    エージェントのインデックスを格納する変数への参照。

  • _Timeout
    最大待機時間 (ミリ秒単位)。

解説

エージェントの状態が agent_canceled または agent_done になると、エージェント タスクは完了します。

_Timeout パラメーターの値が COOPERATIVE_TIMEOUT_INFINITE 定数以外の場合、エージェントがそのタスクを完了する前に指定された時間が経過すると、operation_timed_out 例外がスローされます。

必要条件

ヘッダー: agents.h

名前空間: concurrency

参照

関連項目

agent クラス

agent::wait メソッド

agent::wait_for_all メソッド

agent_status 列挙体