Provided by: manpages-ro-dev_4.27.0-1_all bug

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țăAtributValoare │
       ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │ 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)