timed_wait_conditionT_timed_wait_conditionTimedWaitConditionTimedWaitConditiontimed_wait_condition (Operator)

Name

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

Signatur

timed_wait_condition( : : ConditionHandle, MutexHandle, Timeout : )

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

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

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

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

void HCondition.TimedWaitCondition(HMutex mutexHandle, int timeout)

def timed_wait_condition(condition_handle: HHandle, mutex_handle: HHandle, timeout: int) -> None

Beschreibung

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

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

Ausführungsinformationen

Parameter

ConditionHandleConditionHandleConditionHandleConditionHandleconditionHandlecondition_handle (input_control)  condition HCondition, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Condition-Synchronisationsobjekt.

MutexHandleMutexHandleMutexHandleMutexHandlemutexHandlemutex_handle (input_control)  mutex HMutex, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Mutex-Synchronisationsobjekt.

TimeoutTimeoutTimeoutTimeouttimeouttimeout (input_control)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Timeout in Mikrosekunden.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert timed_wait_conditiontimed_wait_conditionTimedWaitConditionTimedWaitConditionTimedWaitConditiontimed_wait_condition 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_conditionSignalConditionSignalConditionSignalConditionsignal_condition, clear_conditionclear_conditionClearConditionClearConditionClearConditionclear_condition

Modul

Foundation