wait_condition
— Warten auf das Signal eines Condition-Synchronisationsobjektes.
wait_condition( : : ConditionHandle, MutexHandle : )
wait_condition
gibt den Mutex, gegeben durch
MutexHandle
, frei (vergleiche unlock_mutex
) und
wartet bis die Condition-Variable ConditionHandle
signalisiert wird. Freigeben und Warten geschehen atomar. Die
Threadausführung wird unterbrochen und verursacht keine
Prozessorlast, bis die Condition signalisiert wird. Der Mutex muss
bei der Übergabe zu wait_condition
vom aufrufenden Thread
gesperrt sein. Bevor der Operator wieder zum aufrufenden Thread
zurückkehrt, wird der Mutex wieder gesperrt (vergleiche
lock_mutex
).
Wenn der Programmierer dafür sorgt, dass alle Threads stets den Mutex sperren bevor sie die Condition signalisieren, dann ist sichergestellt, dass eine Condition nicht zwischen dem Zeitpunkt des Sperren eines Mutexes und dem Warten auf eine Condition signalisiert (und somit ignoriert) werden kann.
ConditionHandle
(input_control) condition →
(handle)
Condition-Synchronisationsobjekt.
MutexHandle
(input_control) mutex →
(handle)
Mutex-Synchronisationsobjekt.
Ist der Parameterwert korrekt, dann liefert wait_condition
den Wert 2 (H_MSG_TRUE). Gegebenenfalls
wird eine Fehlerbehandlung durchgeführt.
signal_condition
,
clear_condition
Foundation