HALCON Reference Manual 10.0.2
Table of Contents / System / Multithreading ClassesClassesClasses | | | Operators

create_conditioncreate_conditioncreate_conditionCreateConditionCreateCondition (Operator)

Name

create_conditioncreate_conditioncreate_conditionCreateConditionCreateCondition — Create a condition variable synchronization object.

Signature

create_condition( : : AttribName, AttribValue : ConditionHandle)

Herror create_condition(const char* AttribName, const char* AttribValue, Hlong* ConditionHandle)

Herror T_create_condition(const Htuple AttribName, const Htuple AttribValue, Htuple* ConditionHandle)

Herror create_condition(const HTuple& AttribName, const HTuple& AttribValue, Hlong* ConditionHandle)

void HCondition::CreateCondition(const HTuple& AttribName, const HTuple& AttribValue)

void HOperatorSetX.CreateCondition(
[in] VARIANT AttribName, [in] VARIANT AttribValue, [out] VARIANT* ConditionHandle)

void HConditionX.CreateCondition(
[in] VARIANT AttribName, [in] VARIANT AttribValue)

static void HOperatorSet.CreateCondition(HTuple attribName, HTuple attribValue, out HTuple conditionHandle)

public HCondition(HTuple attribName, HTuple attribValue)

public HCondition(string attribName, string attribValue)

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_conditioncreate_conditioncreate_conditionCreateConditionCreateCondition creates and initializes the condition variable ConditionHandleConditionHandleConditionHandleConditionHandleconditionHandle, using the condition attributes specified in AttribNameAttribNameAttribNameAttribNameattribName and AttribValueAttribValueAttribValueAttribValueattribValue, or default attributes if AttribNameAttribNameAttribNameAttribNameattribName is ''"""""""". The current implementation supports no attributes for conditions, hence the AttribNameAttribNameAttribNameAttribNameattribName parameter must be set to ''"""""""".

Parallelization

Parameters

AttribNameAttribNameAttribNameAttribNameattribName (input_control)  number(-array) HTupleHTupleVARIANTHtuple (string / integer / real) (string / int / long / double) (char* / Hlong / double) (BSTR / Hlong / double) (char* / Hlong / double)

Mutex attribute.

Default value: '' "" "" "" ""

AttribValueAttribValueAttribValueAttribValueattribValue (input_control)  number(-array) HTupleHTupleVARIANTHtuple (string / integer / real) (string / int / long / double) (char* / Hlong / double) (BSTR / Hlong / double) (char* / Hlong / double)

Mutex attribute value.

Number of elements: AttribValue == AttribName

Default value: '' "" "" "" ""

ConditionHandleConditionHandleConditionHandleConditionHandleconditionHandle (output_control)  condition HCondition, HTupleHCondition, HTupleHConditionX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong)

Condition synchronization object.

Result

create_conditioncreate_conditioncreate_conditionCreateConditionCreateCondition returns 2 (H_MSG_TRUE) if all parameters are correct. If necessary, an exception is raised.

Possible Successors

wait_conditionwait_conditionwait_conditionWaitConditionWaitCondition, timed_wait_conditiontimed_wait_conditiontimed_wait_conditionTimedWaitConditionTimedWaitCondition, signal_conditionsignal_conditionsignal_conditionSignalConditionSignalCondition

See also

clear_conditionclear_conditionclear_conditionClearConditionClearCondition

Module

Foundation


Table of Contents / System / Multithreading ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH