agent::wait_for_one Method

Waits for any one of the specified agents to complete its task.

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
);

Parameters

  • _Count
    The number of agent pointers present in the array _PAgents.

  • _PAgents
    An array of pointers to the agents to wait for.

  • _Status
    A reference to a variable where the agent status will be placed.

  • _Index
    A reference to a variable where the agent index will be placed.

  • _Timeout
    The maximum time for which to wait, in milliseconds.

Remarks

An agent task is completed when the agent enters the agent_canceled or agent_done states.

If the parameter _Timeout has a value other than the constant COOPERATIVE_TIMEOUT_INFINITE, the exception operation_timed_out is thrown if the specified amount of time expires before the agent has completed its task.

Requirements

Header: agents.h

Namespace: concurrency

See Also

Reference

agent Class

agent::wait Method

agent::wait_for_all Method

agent_status Enumeration