wait_conditionT_wait_conditionWaitConditionWaitConditionwait_condition(算子)
名称
wait_conditionT_wait_conditionWaitConditionWaitConditionwait_condition — 等待条件同步对象的信号。
签名
描述
wait_conditionwait_conditionWaitConditionWaitConditionWaitConditionwait_condition atomically unlocks the MutexHandleMutexHandleMutexHandleMutexHandlemutexHandlemutex_handle (as per
unlock_mutexunlock_mutexUnlockMutexUnlockMutexUnlockMutexunlock_mutex) and waits for the condition variable
ConditionHandleConditionHandleConditionHandleConditionHandleconditionHandlecondition_handle to be signaled. The thread execution is suspended
and does not consume any CPU time until the condition variable is signaled.
The mutex must be locked by the calling thread on entrance to
wait_conditionwait_conditionWaitConditionWaitConditionWaitConditionwait_condition. Before returning to the calling thread,
wait_conditionwait_conditionWaitConditionWaitConditionWaitConditionwait_condition re-acquires MutexHandleMutexHandleMutexHandleMutexHandlemutexHandlemutex_handle
(as per lock_mutexlock_mutexLockMutexLockMutexLockMutexlock_mutex).
Unlocking the mutex and suspending on the condition variable is done
atomically. Thus, if all threads always acquire the mutex before signaling
the condition, this guarantees that the condition cannot be signaled
(and thus ignored) between the time a thread locks the mutex and
the time it waits on the condition variable.
执行信息
- 多线程类型:独立(即使使用独占算子也能并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
ConditionHandleConditionHandleConditionHandleConditionHandleconditionHandlecondition_handle (输入控制) condition → HCondition, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
条件同步对象。
MutexHandleMutexHandleMutexHandleMutexHandlemutexHandlemutex_handle (输入控制) mutex → HMutex, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Mutex synchronization object.
结果
wait_conditionwait_conditionWaitConditionWaitConditionWaitConditionwait_condition 在所有参数正确时返回 2 (H_MSG_TRUE)。如有必要,则抛出异常。
可能的后继
signal_conditionsignal_conditionSignalConditionSignalConditionSignalConditionsignal_condition,
clear_conditionclear_conditionClearConditionClearConditionClearConditionclear_condition
模块
基础