create_barrierT_create_barrierCreateBarrierCreateBarrier (Operator)

Name

create_barrierT_create_barrierCreateBarrierCreateBarrier — 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)

Beschreibung

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

create_barriercreate_barrierCreateBarrierCreateBarrierCreateBarrier legt das Barriereobjekt an, welches in BarrierHandleBarrierHandleBarrierHandleBarrierHandlebarrierHandle zurückgegeben wird, und initialisiert es entsprechend der Attribute in AttribNameAttribNameAttribNameAttribNameattribName und AttribValueAttribValueAttribValueAttribValueattribValue. AttribNameAttribNameAttribNameAttribNameattribName definiert die Klasse und AttribValueAttribValueAttribValueAttribValueattribValue 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 TeamSizeTeamSizeTeamSizeTeamSizeteamSize spezifiziert die Anzahl der Threads, die wait_barrierwait_barrierWaitBarrierWaitBarrierWaitBarrier zuvor aufrufen müssen, bevor sie vom Warten zurückkehren können. Der Wert von TeamSizeTeamSizeTeamSizeTeamSizeteamSize muss größer als Null sein.

Ausführungsinformationen

Parameter

AttribNameAttribNameAttribNameAttribNameattribName (input_control)  attribute.name(-array) HTupleHTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Barriere-Attribut.

Defaultwert: []

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

AttribValueAttribValueAttribValueAttribValueattribValue (input_control)  attribute.value(-array) HTupleHTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Barriere-Attributwert.

Parameteranzahl: AttribValue == AttribName

Defaultwert: []

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

TeamSizeTeamSizeTeamSizeTeamSizeteamSize (input_control)  number HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Größe des Barriere Teams.

Defaultwert: 1

BarrierHandleBarrierHandleBarrierHandleBarrierHandlebarrierHandle (output_control)  barrier HBarrier, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Barriere-Synchronisationsobjekt.

Ergebnis

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

Nachfolger

wait_barrierwait_barrierWaitBarrierWaitBarrierWaitBarrier, clear_barrierclear_barrierClearBarrierClearBarrierClearBarrier

Modul

Foundation