create_conditionCreateConditionCreateConditioncreate_conditionT_create_condition
Short description
create_conditionCreateConditionCreateConditioncreate_conditionT_create_condition β Create a condition variable synchronization object.
Signature
create_condition( number AttribName, number AttribValue, out condition ConditionHandle )void CreateCondition( const HTuple& AttribName, const HTuple& AttribValue, HTuple* ConditionHandle )static void HOperatorSet.CreateCondition( HTuple attribName, HTuple attribValue, out HTuple conditionHandle )def create_condition( attrib_name: MaybeSequence[Union[int, float, str]], attrib_value: MaybeSequence[Union[int, float, str]] ) -> HHandle
Herror T_create_condition( 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)
public HCondition( HTuple attribName, HTuple attribValue )
public HCondition( string attribName, string attribValue )
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)
void HCondition.CreateCondition( HTuple attribName, HTuple attribValue )
void HCondition.CreateCondition( string attribName, string attribValue )
Description
A condition variable (short: βconditionβ) is a synchronization
device that allows threads to suspend execution and relinquish the
processors until some predicate on shared data is satisfied. The basic
operations on conditions are: signal the condition (when the predicate
becomes true), and wait for the condition, suspending the thread execution
until another thread signals the condition.
A condition variable must always be associated with a mutex, to avoid
the race condition where a thread prepares to wait on a condition variable
and another thread signals the condition just before the first
thread actually waits on it.
create_conditionCreateCondition creates and initializes the condition variable
ConditionHandleconditionHandlecondition_handle, using the condition attributes specified in
AttribNameattribNameattrib_name and AttribValueattribValueattrib_value, or default attributes if
AttribNameattribNameattrib_name is ''"".
The current implementation supports no
attributes for conditions, hence the AttribNameattribNameattrib_name parameter must
be set to ''"".
Execution information
-
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
-
Multithreading scope: global (may be called from any thread).
-
Processed without parallelization.
Parameters
AttribNameattribNameattrib_name (input_control) number(-array) β (string / integer / real)HTuple (HString / Hlong / double)HTuple (string / int / long / double)MaybeSequence[Union[int, float, str]]Htuple (char* / Hlong / double)
Mutex attribute.
Default: [][]
AttribValueattribValueattrib_value (input_control) number(-array) β (string / integer / real)HTuple (HString / Hlong / double)HTuple (string / int / long / double)MaybeSequence[Union[int, float, str]]Htuple (char* / Hlong / double)
Mutex attribute value.
Number of elements: AttribValue == AttribName
Default: [][]
ConditionHandleconditionHandlecondition_handle (output_control) condition β (handle)HTuple (HHandle)HCondition, HTuple (IntPtr)HHandleHtuple (handle)
Condition synchronization object.
Result
create_conditionCreateCondition returns 2 (H_MSG_TRUE) if all parameters are correct.
If necessary, an exception is raised.
Combinations with other operators
Combinations
Possible successors
wait_conditionWaitCondition, timed_wait_conditionTimedWaitCondition, signal_conditionSignalCondition
See also
clear_conditionClearCondition
Module
Foundation