create_barrierT_create_barrierCreateBarrierCreateBarriercreate_barrier (Operator)

Name

create_barrierT_create_barrierCreateBarrierCreateBarriercreate_barrier — Erzeugen eines Barriere-Synchronisationsobjektes.

Signatur

create_barrier( : : AttribName, AttribValue, TeamSize : BarrierHandle)

Herror T_create_barrier(const Htuple AttribName, const Htuple AttribValue, const Htuple TeamSize, Htuple* BarrierHandle)

void CreateBarrier(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)   ( Nur Windows)

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)   ( Nur Windows)

static void HOperatorSet.CreateBarrier(HTuple attribName, HTuple attribValue, HTuple teamSize, out HTuple barrierHandle)

public HBarrier(HTuple attribName, HTuple attribValue, int teamSize)

public HBarrier(string attribName, string attribValue, int teamSize)

void HBarrier.CreateBarrier(HTuple attribName, HTuple attribValue, int teamSize)

void HBarrier.CreateBarrier(string attribName, string attribValue, int teamSize)

def create_barrier(attrib_name: MaybeSequence[Union[int, float, str]], attrib_value: MaybeSequence[Union[int, float, str]], team_size: int) -> HHandle

Beschreibung

Eine Barriere ist ein Synchronisationsobjekt, welches einen Thread solange blockiert, bis eine zuvor definierte Anzahl von Threads diese Barriere erreicht haben.

create_barriercreate_barrierCreateBarrierCreateBarriercreate_barrier legt das Barriere-Objekt an, welches in BarrierHandleBarrierHandleBarrierHandlebarrierHandlebarrier_handle zurückgegeben wird, und initialisiert es entsprechend der Attribute in AttribNameAttribNameAttribNameattribNameattrib_name und AttribValueAttribValueAttribValueattribValueattrib_value. AttribNameAttribNameAttribNameattribNameattrib_name definiert die Klasse und AttribValueAttribValueAttribValueattribValueattrib_value den Typ der Barriere. Im Folgenden werden die möglichen Attributwerte für die gelisteten Attributnamen beschrieben:

''""""""""

der leere String setzt die Standardattribute.

'type'"type""type""type""type"

spezifiziert das Verhalten wenn ein Thread an einer Barriere warten muss:

'sleep'"sleep""sleep""sleep""sleep"

unterbricht den aufrufenden Thread und legt ihn schlafen (Standard).

'spin'"spin""spin""spin""spin"

ist die schnelle Implementierung einer Barriere, die in einer Schleife auf die Freigabe der Barriere wartet.

Das Argument TeamSizeTeamSizeTeamSizeteamSizeteam_size spezifiziert die Anzahl der Threads, die wait_barrierwait_barrierWaitBarrierWaitBarrierwait_barrier zuvor aufrufen müssen, bevor sie vom Warten zurückkehren können. Der Wert von TeamSizeTeamSizeTeamSizeteamSizeteam_size muss größer als Null sein.

Ausführungsinformationen

Parameter

AttribNameAttribNameAttribNameattribNameattrib_name (input_control)  attribute.name(-array) HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Barriere-Attribut.

Default: []

Werteliste: 'type'"type""type""type""type"

AttribValueAttribValueAttribValueattribValueattrib_value (input_control)  attribute.value(-array) HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Barriere-Attributwert.

Parameteranzahl: AttribValue == AttribName

Default: []

Werteliste: 'sleep'"sleep""sleep""sleep""sleep", 'spin'"spin""spin""spin""spin"

TeamSizeTeamSizeTeamSizeteamSizeteam_size (input_control)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Größe des Barriere Teams.

Default: 1

BarrierHandleBarrierHandleBarrierHandlebarrierHandlebarrier_handle (output_control)  barrier HBarrier, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Barriere-Synchronisationsobjekt.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert create_barriercreate_barrierCreateBarrierCreateBarriercreate_barrier den Wert 2 ( H_MSG_TRUE) . Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

wait_barrierwait_barrierWaitBarrierWaitBarrierwait_barrier, clear_barrierclear_barrierClearBarrierClearBarrierclear_barrier

Modul

Foundation