Wählen Sie oben rechts eine andere Programmiersprache aus.

Wählen Sie oben rechts eine andere Programmiersprache aus.

Wählen Sie oben rechts eine andere Programmiersprache aus.

par_joinpar_joinParJoinParJoin (Operator)

Name

par_joinpar_joinParJoinParJoin — Wartet auf Unterthreads die mit Hilfe der par_start Kennzeichnung am Anfang einer Programmzeile gestartet wurden.

Signatur

par_join( : : ThreadID : )

Herror par_join(const Hlong ThreadID)

Herror T_par_join(const Htuple ThreadID)

void ParJoin(const HTuple& ThreadID)

static void HOperatorSet.ParJoin(HTuple threadID)

Beschreibung

Der Operator par_joinpar_joinParJoinParJoinParJoin erlaubt es, auf Prozeduren und Operatoren zu warten, die mit Hilfe von par_start in einem separaten Unterthread parallel zur aufrufenden Prozedur gestartet wurden. Es wird auf die Unterthreads gewartet, deren Thread-IDs als Tupel im Parameter ThreadIDThreadIDThreadIDThreadIDthreadID übergeben wurden.

Achtung: par_start ist kein eigener Operator, sondern lediglich ein Kennzeichner, der dem eigentlichen Prozeduraufruf in der gleichen Programmzeile vorangestellt wird: par_start <ThreadID> : gefolgt von dem eigentlichen Aufruf.

Parameter

ThreadIDThreadIDThreadIDThreadIDthreadID (input_control)  thread_id(-array) HTupleHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)

IDs der Unterthreads, auf die gewartet werden soll.

Beispiel (HDevelop)

* start two procedures in separate sub threads
par_start <ThreadID1> : producer_proc()
par_start <ThreadID2> : consumer_proc()
* wait until both procedures have finished
par_join ([ThreadID1, ThreadID2])

Ergebnis

Sind die Parameterwerte korrekt, dann liefert par_joinpar_joinParJoinParJoinParJoin den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt und ein Fehlercode zurückgeliefert.

Modul

Foundation