pthread_join - Blockiert den auszuführenden Thread (caller) bis zur Terminierung eines anderen Threads
Beschreibung
int pthread_join(pthread_t thread, void **retval);
thread - Der Thread, auf den gewartet werden soll
Beispiel
int main(int argc, char** argv) { int n1 = 1, n2 = 2; // Thread-Handle pthread_t t1, t2; // Threads erstellen (t, attr, code, args) // args ist vom Typ void*, damit die Argumentübergabe möglichst // generell ist. Der Thread muss die Adresse selbst interpretieren. pthread_create(&t1, NULL, runner, &n1); pthread_create(&t2, NULL, runner, &n2); // Warten bis die Threads fertig sind (t, res) pthread_join(t1, NULL); pthread_join(t2, NULL); return 0u;}void *runner(void *args) { // Aufgelöstes Argument. Der Void-Pointer wurde zum int-pointer gecastet // und anschließend aufgelöst. int nr = *((int *)args); return args;}