Skip to content

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πŸ”—

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