create_conditionT_create_conditionCreateConditionCreateConditioncreate_condition创建条件(算子)
名称
create_conditionT_create_conditionCreateConditionCreateConditioncreate_condition — 创建条件变量同步对象。
签名
void CreateCondition(const HTuple& AttribName, const HTuple& AttribValue, HTuple* ConditionHandle)
void HCondition::HCondition(const HTuple& AttribName, const HTuple& AttribValue)
void HCondition::HCondition(const HString& AttribName, const HString& AttribValue)
void HCondition::HCondition(const char* AttribName, const char* AttribValue)
void HCondition::HCondition(const wchar_t* AttribName, const wchar_t* AttribValue)
(
Windows only)
void HCondition::CreateCondition(const HTuple& AttribName, const HTuple& AttribValue)
void HCondition::CreateCondition(const HString& AttribName, const HString& AttribValue)
void HCondition::CreateCondition(const char* AttribName, const char* AttribValue)
void HCondition::CreateCondition(const wchar_t* AttribName, const wchar_t* AttribValue)
(
Windows only)
def create_condition(attrib_name: MaybeSequence[Union[int, float, str]], attrib_value: MaybeSequence[Union[int, float, str]]) -> HHandle
描述
条件变量(简称“条件”)是一种同步机制,允许线程在共享数据满足某个谓词条件前暂停执行并释放处理器资源。条件变量的基本操作包括:当谓词条件成立时触发条件信号,以及等待条件信号——此时线程执行将暂停,直至其他线程发出条件信号。
条件变量必须始终与互斥量关联,以避免竞争条件:当一个线程准备等待条件变量时,另一个线程可能在首个线程实际等待前就触发该条件。
create_conditioncreate_conditionCreateConditionCreateConditionCreateConditioncreate_condition 创建并初始化条件变量 ConditionHandleConditionHandleConditionHandleConditionHandleconditionHandlecondition_handle,使用
AttribNameAttribNameAttribNameAttribNameattribNameattrib_name 和 AttribValueAttribValueAttribValueAttribValueattribValueattrib_value 中指定的条件属性,若
AttribNameAttribNameAttribNameAttribNameattribNameattrib_name 为 ''"""""""""" 则使用默认属性。当前实现不支持条件属性,因此必须将 AttribNameAttribNameAttribNameAttribNameattribNameattrib_name 参数设置为 ''""""""""""。
执行信息
- 多线程类型:独立(即使使用独占算子也能并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
AttribNameAttribNameAttribNameAttribNameattribNameattrib_name (输入控制) number(-array) → HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)
互斥属性。
默认值:
[]
AttribValueAttribValueAttribValueAttribValueattribValueattrib_value (输入控制) number(-array) → HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)
互斥属性值。
元素数量:
AttribValue == AttribName
默认值:
[]
ConditionHandleConditionHandleConditionHandleConditionHandleconditionHandlecondition_handle (输出控制) condition → HCondition, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
条件同步对象。
结果
create_conditioncreate_conditionCreateConditionCreateConditionCreateConditioncreate_condition 在所有参数正确时返回 2 (H_MSG_TRUE)。如有必要,则抛出异常。
可能的后继
wait_conditionwait_conditionWaitConditionWaitConditionWaitConditionwait_condition,
timed_wait_conditiontimed_wait_conditionTimedWaitConditionTimedWaitConditionTimedWaitConditiontimed_wait_condition,
signal_conditionsignal_conditionSignalConditionSignalConditionSignalConditionsignal_condition
另见
clear_conditionclear_conditionClearConditionClearConditionClearConditionclear_condition
模块
基础