Name
create_barriercreate_barrierCreateBarriercreate_barrierCreateBarrierCreateBarrier — Erzeugen eines Barriere-Synchronisationsobjektes.
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::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)
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)
Eine Barriere ist ein Synchronisationsobjekt, welches einen Thread solange
blockiert, bis eine zuvor definierte Anzahl von Threads diese Barriere
erreicht haben.
create_barriercreate_barrierCreateBarriercreate_barrierCreateBarrierCreateBarrier legt das Barriereobjekt an, welches in
BarrierHandleBarrierHandleBarrierHandleBarrierHandleBarrierHandlebarrierHandle zurückgegeben wird, und initialisiert es entsprechend
der Attribute in AttribNameAttribNameAttribNameAttribNameAttribNameattribName und AttribValueAttribValueAttribValueAttribValueAttribValueattribValue.
AttribNameAttribNameAttribNameAttribNameAttribNameattribName definiert die Klasse und AttribValueAttribValueAttribValueAttribValueAttribValueattribValue
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""type"
-
spezifiziert das Verhalten wenn ein
Thread an einer Barriere warten muss:
- 'sleep'"sleep""sleep""sleep""sleep""sleep"
unterbricht den aufrufenden Thread und legt ihn
schlafen (Standard).
- 'spin'"spin""spin""spin""spin""spin"
ist die schnelle Implementierung einer Barriere,
die in einer Schleife auf die Freigabe der Barriere wartet.
Das Argument TeamSizeTeamSizeTeamSizeTeamSizeTeamSizeteamSize spezifiziert die Anzahl der Threads, die
wait_barrierwait_barrierWaitBarrierwait_barrierWaitBarrierWaitBarrier zuvor aufrufen müssen, bevor sie vom Warten
zurückkehren können. Der Wert von TeamSizeTeamSizeTeamSizeTeamSizeTeamSizeteamSize muss größer als
Null sein.
- Multithreading-Typ: independent (läuft parallel auch zu exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Barriere-Attribut.
Defaultwert: []
Werteliste: 'type'"type""type""type""type""type"
Barriere-Attributwert.
Parameteranzahl: AttribValue == AttribName
Defaultwert: []
Werteliste: 'sleep'"sleep""sleep""sleep""sleep""sleep", 'spin'"spin""spin""spin""spin""spin"
Größe des Barriere Teams.
Defaultwert: 1
Barriere-Synchronisationsobjekt.
Sind die Parameterwerte korrekt, dann liefert create_barriercreate_barrierCreateBarriercreate_barrierCreateBarrierCreateBarrier
den Wert 2 (H_MSG_TRUE). Gegebenenfalls
wird eine Fehlerbehandlung durchgeführt.
wait_barrierwait_barrierWaitBarrierwait_barrierWaitBarrierWaitBarrier,
clear_barrierclear_barrierClearBarrierclear_barrierClearBarrierClearBarrier
Foundation