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.

Wählen Sie oben rechts eine andere Programmiersprache aus.

par_joinpar_joinParJoinParJoinpar_join (Operator)

Name

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

def par_join(thread_id: MaybeSequence[HHandle]) -> None

Beschreibung

Der Operator par_joinpar_joinParJoinParJoinParJoinpar_join 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 ThreadIDThreadIDThreadIDThreadIDthreadIDthread_id ü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

ThreadIDThreadIDThreadIDThreadIDthreadIDthread_id (input_control)  thread_id(-array) HTupleMaybeSequence[HHandle]HTupleHtuple (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_joinParJoinParJoinParJoinpar_join den Wert TRUE. Andernfalls wird eine Fehlerbehandlung durchgeführt und ein Fehlercode zurückgeliefert.

Modul

Foundation