KlassenKlassenKlassenKlassen | | | | Operatoren

timed_wait_conditiontimed_wait_conditionTimedWaitConditiontimed_wait_conditionTimedWaitConditionTimedWaitCondition (Operator)

Name

timed_wait_conditiontimed_wait_conditionTimedWaitConditiontimed_wait_conditionTimedWaitConditionTimedWaitCondition — Begrenztes Warten auf das Signal eines Condition-Synchronisationsobjektes.

Signatur

timed_wait_condition( : : ConditionHandle, MutexHandle, Timeout : )

Herror timed_wait_condition(const Hlong ConditionHandle, const Hlong MutexHandle, const Hlong Timeout)

Herror T_timed_wait_condition(const Htuple ConditionHandle, const Htuple MutexHandle, const Htuple Timeout)

Herror timed_wait_condition(const HTuple& ConditionHandle, const HTuple& MutexHandle, const HTuple& Timeout)

void HCondition::TimedWaitCondition(const HMutex& MutexHandle, const HTuple& Timeout) const

void TimedWaitCondition(const HTuple& ConditionHandle, const HTuple& MutexHandle, const HTuple& Timeout)

void HCondition::TimedWaitCondition(const HMutex& MutexHandle, Hlong Timeout) const

void HOperatorSetX.TimedWaitCondition(
[in] VARIANT ConditionHandle, [in] VARIANT MutexHandle, [in] VARIANT Timeout)

void HConditionX.TimedWaitCondition(
[in] IHMutexX* MutexHandle, [in] Hlong Timeout)

static void HOperatorSet.TimedWaitCondition(HTuple conditionHandle, HTuple mutexHandle, HTuple timeout)

void HCondition.TimedWaitCondition(HMutex mutexHandle, int timeout)

Beschreibung

timed_wait_conditiontimed_wait_conditionTimedWaitConditiontimed_wait_conditionTimedWaitConditionTimedWaitCondition gibt MutexHandleMutexHandleMutexHandleMutexHandleMutexHandlemutexHandle frei und wartet auf das Signalisieren von ConditionHandleConditionHandleConditionHandleConditionHandleConditionHandleconditionHandle. Wie bei wait_conditionwait_conditionWaitConditionwait_conditionWaitConditionWaitCondition geschehen Freigabe und Warten atomar, jedoch kann die Dauer des Wartens begrenzt werden. Falls ConditionHandleConditionHandleConditionHandleConditionHandleConditionHandleconditionHandle nicht während der von TimeoutTimeoutTimeoutTimeoutTimeouttimeout vorgegebenen Zeit (in Mikrosekunden) signalisiert wurde, wird der Mutex MutexHandleMutexHandleMutexHandleMutexHandleMutexHandlemutexHandle wieder gesperrt und timed_wait_conditiontimed_wait_conditionTimedWaitConditiontimed_wait_conditionTimedWaitConditionTimedWaitCondition wirft den Fehler H_ERR_TIMEOUT.

Negative Werte für TimeoutTimeoutTimeoutTimeoutTimeouttimeout bedeuten ein unendlich langes Warten.

Parallelisierung

Parameter

ConditionHandleConditionHandleConditionHandleConditionHandleConditionHandleconditionHandle (input_control)  condition HCondition, HTupleHTupleHCondition, HTupleHConditionX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Condition-Synchronisationsobjekt.

MutexHandleMutexHandleMutexHandleMutexHandleMutexHandlemutexHandle (input_control)  mutex HMutex, HTupleHTupleHMutex, HTupleHMutexX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Mutex-Synchronisationsobjekt.

TimeoutTimeoutTimeoutTimeoutTimeouttimeout (input_control)  number HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Timeout in Mikrosekunden.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert timed_wait_conditiontimed_wait_conditionTimedWaitConditiontimed_wait_conditionTimedWaitConditionTimedWaitCondition den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt. Kommt es zu einer Zeitüberschreitung, wird der Wert H_ERR_TIMEOUT zurück gegeben.

Nachfolger

signal_conditionsignal_conditionSignalConditionsignal_conditionSignalConditionSignalCondition, clear_conditionclear_conditionClearConditionclear_conditionClearConditionClearCondition

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren