Freigeben über


agent::wait_for_one-Methode

Wartet, bis einer der angegebenen Agents die Ausführung seiner Aufgabe abschließt.

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

Parameter

  • _Count
    Die Anzahl der Agentzeiger im Array _PAgents.

  • _PAgents
    Ein Array von Zeigern auf die Agents, auf die gewartet wird.

  • _Status
    Ein Verweis auf eine Variable, in der der Agent-Status gespeichert wird.

  • _Index
    Ein Verweis auf eine Variable, in der der Agent-Index gespeichert wird.

  • _Timeout
    Die maximale Zeit, die gewartet werden soll, in Millisekunden.

Hinweise

Eine Agent-Aufgabe ist abgeschlossen, wenn sich der Agent im Zustand agent_canceled oder agent_done befindet.

Wenn der Parameter _Timeout einen anderen Wert als den konstanten Wert COOPERATIVE_TIMEOUT_INFINITE hat, wird die Ausnahme operation_timed_out ausgelöst, falls die angegebene Wartezeit abläuft, bevor der Agent seine Aufgabe abgeschlossen hat.

Anforderungen

Header: agents.h

Namespace: Parallelität

Siehe auch

Referenz

agent-Klasse

agent::wait-Methode

agent::wait_for_all-Methode

agent_status-Enumeration