create_barrierCreateBarrierCreateBarriercreate_barrierT_create_barrier
Short description
create_barrierCreateBarrierCreateBarriercreate_barrierT_create_barrier — Create a barrier synchronization object.
Signature
create_barrier( attribute.name AttribName, attribute.value AttribValue, number TeamSize, out barrier BarrierHandle )void CreateBarrier( const HTuple& AttribName, const HTuple& AttribValue, const HTuple& TeamSize, HTuple* BarrierHandle )static void HOperatorSet.CreateBarrier( HTuple attribName, HTuple attribValue, HTuple teamSize, out HTuple barrierHandle )def create_barrier( attrib_name: MaybeSequence[Union[int, float, str]], attrib_value: MaybeSequence[Union[int, float, str]], team_size: int ) -> HHandle
Herror T_create_barrier( const Htuple AttribName, const Htuple AttribValue, const Htuple TeamSize, Htuple* BarrierHandle )
void HBarrier::HBarrier( const HTuple& AttribName, const HTuple& AttribValue, Hlong TeamSize )
void HBarrier::HBarrier( const HString& AttribName, const HString& AttribValue, Hlong TeamSize )
void HBarrier::HBarrier( const char* AttribName, const char* AttribValue, Hlong TeamSize )
void HBarrier::HBarrier( const wchar_t* AttribName, const wchar_t* AttribValue, Hlong TeamSize ) (Windows only)
public HBarrier( HTuple attribName, HTuple attribValue, int teamSize )
public HBarrier( string attribName, string attribValue, int teamSize )
void HBarrier::CreateBarrier( const HTuple& AttribName, const HTuple& AttribValue, Hlong TeamSize )
void HBarrier::CreateBarrier( const HString& AttribName, const HString& AttribValue, Hlong TeamSize )
void HBarrier::CreateBarrier( const char* AttribName, const char* AttribValue, Hlong TeamSize )
void HBarrier::CreateBarrier( const wchar_t* AttribName, const wchar_t* AttribValue, Hlong TeamSize ) (Windows only)
void HBarrier.CreateBarrier( HTuple attribName, HTuple attribValue, int teamSize )
void HBarrier.CreateBarrier( string attribName, string attribValue, int teamSize )
Description
A barrier is a synchronization object blocking a thread until a previous
defined number of threads have reached this barrier.
create_barrierCreateBarrier allocates and initializes the barrier object returned
in BarrierHandlebarrierHandlebarrier_handle according to the attributes specified in
AttribNameattribNameattrib_name and AttribValueattribValueattrib_value.
AttribNameattribNameattrib_name specifies the attribute class and AttribValueattribValueattrib_value
the kind of the barrier. The description beneath lists all barrier kinds
supported by following parameter classes:
The TeamSizeteamSizeteam_size argument specifies the number of threads that must
call wait_barrierWaitBarrier before any of them successfully return from
waiting. The value hold in TeamSizeteamSizeteam_size must be greater than zero.
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) attribute.name(-array) → (string / integer / real)HTuple (HString / Hlong / double)HTuple (string / int / long / double)MaybeSequence[Union[int, float, str]]Htuple (char* / Hlong / double)
Barrier attribute.
Default: [][]
List of values: 'type'"type"
AttribValueattribValueattrib_value (input_control) attribute.value(-array) → (string / integer / real)HTuple (HString / Hlong / double)HTuple (string / int / long / double)MaybeSequence[Union[int, float, str]]Htuple (char* / Hlong / double)
Barrier attribute value.
Number of elements: AttribValue == AttribName
Default: [][]
List of values: 'sleep', 'spin'"sleep", "spin"
TeamSizeteamSizeteam_size (input_control) number → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)
Barrier team size.
Default: 11
BarrierHandlebarrierHandlebarrier_handle (output_control) barrier → (handle)HTuple (HHandle)HBarrier, HTuple (IntPtr)HHandleHtuple (handle)
Barrier synchronization object.
Result
create_barrierCreateBarrier returns 2 (H_MSG_TRUE) if all parameters are correct.
If necessary, an exception is raised.
Combinations with other operators
Combinations
Possible successors
wait_barrierWaitBarrier, clear_barrierClearBarrier
Module
Foundation