timed_wait_conditionT_timed_wait_conditionTimedWaitConditionTimedWaitConditiontimed_wait_condition (算子)

名称

timed_wait_conditionT_timed_wait_conditionTimedWaitConditionTimedWaitConditiontimed_wait_condition — 对条件同步对象的信号进行有限等待。

签名

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

描述

timed_wait_conditiontimed_wait_conditionTimedWaitConditionTimedWaitConditionTimedWaitConditiontimed_wait_condition atomically unlocks MutexHandleMutexHandleMutexHandleMutexHandlemutexHandlemutex_handle and waits on ConditionHandleConditionHandleConditionHandleConditionHandleconditionHandlecondition_handle, as wait_conditionwait_conditionWaitConditionWaitConditionWaitConditionwait_condition does, but it also bounds the duration of the wait. If ConditionHandleConditionHandleConditionHandleConditionHandleconditionHandlecondition_handle has not been signaled within the amount of time specified by TimeoutTimeoutTimeoutTimeouttimeouttimeout in micro seconds, the mutex MutexHandleMutexHandleMutexHandleMutexHandlemutexHandlemutex_handle is re-acquired and timed_wait_conditiontimed_wait_conditionTimedWaitConditionTimedWaitConditionTimedWaitConditiontimed_wait_condition returns the error H_ERR_TIMEOUT.

Using negative values for TimeoutTimeoutTimeoutTimeouttimeouttimeout means an infinite waiting time.

执行信息

参数

ConditionHandleConditionHandleConditionHandleConditionHandleconditionHandlecondition_handle (输入控制)  condition HCondition, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Condition synchronization object.

MutexHandleMutexHandleMutexHandleMutexHandlemutexHandlemutex_handle (输入控制)  mutex HMutex, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Mutex synchronization object.

TimeoutTimeoutTimeoutTimeouttimeouttimeout (输入控制)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Timeout in micro seconds.

结果

timed_wait_conditiontimed_wait_conditionTimedWaitConditionTimedWaitConditionTimedWaitConditiontimed_wait_condition 在所有参数正确时返回 2 ( H_MSG_TRUE )。如有必要,则抛出异常。如果发生超时,将抛出错误 H_ERR_TIMEOUT。

可能的后继

signal_conditionsignal_conditionSignalConditionSignalConditionSignalConditionsignal_condition, clear_conditionclear_conditionClearConditionClearConditionClearConditionclear_condition

模块

基础