Provided by: manpages-ro-dev_4.28.0-2_all 

NUME
pthread_join - se unește cu un fir terminat
BIBLIOTECA
Biblioteca de fire de execuție POSIX (libpthread, -lpthread)
SINOPSIS
#include <pthread.h>
int pthread_join(pthread_t thread, void **retval);
DESCRIERE
Funcția pthread_join() așteaptă ca firul specificat de thread să se încheie. În cazul în care firul
respectiv s-a încheiat deja, atunci pthread_join() returnează imediat. Firul specificat de thread
trebuie să poată fi asociat.
Dacă retval nu este NULL, atunci pthread_join() copiază starea de ieșire a firului țintă (adică valoarea
pe care firul țintă a furnizat-o lui pthread_exit(3)) în locația indicată de retval. În cazul în care
firul țintă a fost anulat, atunci PTHREAD_CANCELED este plasat în locația indicată de retval.
În cazul în care mai multe fire de execuție încearcă simultan să se unească cu același fir de execuție,
rezultatele sunt nedefinite. În cazul în care firul care apelează pthread_join() este anulat, atunci
firul țintă va continua să poată fi unit (adică nu va fi detașat).
VALOAREA RETURNATĂ
În caz de succes, pthread_join() returnează 0; în caz de eroare, returnează un număr de eroare.
ERORI-IEȘIRE
EDEADLK
A fost detectat un impas (de exemplu, două fire de execuție au încercat să se unească una cu
cealaltă); sau thread specifică firul de execuție apelant.
EINVAL thread nu este un fir de execuție care poate fi atașat.
EINVAL Un alt fir de execuție așteaptă deja să se unească cu acest fir.
ESRCH Nu a putut fi găsit niciun fir de execuție cu identificatorul thread.
ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
│ Interfață │ Atribut │ Valoare │
├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
│ pthread_join() │ Siguranța firelor │ MT-Safe │
└─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘
STANDARDE
POSIX.1-2008.
ISTORIC
POSIX.1-2001.
NOTE
După un apel reușit la pthread_join(), apelantului i se garantează că firul țintă s-a încheiat.
Apelantul poate alege apoi să efectueze orice operațiune de curățare necesară după terminarea firului (de
exemplu, eliberarea memoriei sau a altor resurse care au fost alocate firului țintă).
Alăturarea cu un fir care a fost alăturat anterior are ca rezultat un comportament nedefinit.
Dacă nu se reușește o îmbinare cu un fir care poate fi îmbinat (adică unul care nu este detașat), se
produce un „fir zombi”. Evitați să faceți acest lucru, deoarece fiecare fir zombi consumă anumite
resurse de sistem, iar atunci când se vor acumula suficiente fire zombi, nu va mai fi posibilă crearea de
noi fire (sau procese).
Nu există un analog «pthreads» al waitpid(-1, &status, 0), adică „unirea cu orice fir terminat”. Dacă
credeți că aveți nevoie de această funcționalitate, probabil că trebuie să vă regândiți proiectarea
aplicației.
Toate firele de execuție dintr-un proces sunt similare: orice fir de execuție se poate alătura oricărui
alt fir de execuție din proces.
EXEMPLE
A se vedea pthread_create(3).
CONSULTAȚI ȘI
pthread_cancel(3), pthread_create(3), pthread_detach(3), pthread_exit(3), pthread_tryjoin_np(3),
pthreads(7)
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o
versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO
RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
ro@lists.sourceforge.net.
Pagini de manual de Linux 6.9.1 2 mai 2024 pthread_join(3)