Várakozás befejezése fluxus
/ * Várakozás állapot állapot "tid" menet exit * /
ret = pthread_join (TID, állapot);
/ * Várakozás befejezése patak „tid” státusz nélkül * /
ret = pthread_join (TID, NULL);
Ábra. 25. befejezése az áramlás.
pthread_join () függvény blokk hívó szálat, amíg az említett áramlási befejeződött. Az áramlási kell tartoznia a folyamatban, és nem kell elkülöníteni. Ha állapota nem NULL. azt jelzi, változó, amelynek az értéke a kitöltött áramlási kilépési állapot siker pthread_join (). Több szál nem várja meg a befejezése az azonos áramlását. Ha megpróbálják ezt, egy szál sikeresen befejeződött, és a többiek - egy hiba ESRCH. Befejeződése után pthread_join (), olyan térben verem az áramhoz társított, lehet használni az alkalmazás.
A következő példában a (ábra. 26), egy felső szintű szál hívások olyan eljárás, amely létrehoz egy új másodlagos áram, az összetett keresések egy adatbázisban, amely megköveteli, hogy bizonyos ideig. A fő téma várja a keresési eredményeket, és ezzel egyidejűleg végezhet más feladatokat. Ő várja az asszisztense segítségével pthread_join () függvényt. PBE érv egy olyan paraméter verem az új téma.
A forráskód thread.c.
struct phonebookentry * PBE;
pthread_create (segítő, NULL, hozd, PBE);
/ * Végzi saját feladatát * /
/ * Most az eredmény, akkor a * /