pthread_detach(3) Library Functions Manual pthread_detach(3)

pthread_detach - detașează un fir de execuție

Biblioteca de fire de execuție POSIX (libpthread, -lpthread)

#include <pthread.h>
int pthread_detach(pthread_t thread);

The pthread_detach() function marks the thread identified by thread as detached. When a detached thread terminates, its resources are automatically released back to the system without the need for another thread to join with the terminated thread.

Încercarea de a detașa un fir deja detașat are ca rezultat un comportament nespecificat.

În caz de succes, pthread_detach() returnează 0; în caz de eroare, returnează un număr de eroare.

thread nu este un fir de execuție care poate fi atașat.
Nu a putut fi găsit niciun fir de execuție cu identificatorul thread.

Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

Interfață Atribut Valoare
pthread_detach() Siguranța firelor MT-Safe

POSIX.1-2008.

POSIX.1-2001.

Odată ce un fir a fost detașat, acesta nu mai poate fi unit cu pthread_join(3) și nici nu mai poate fi unit din nou.

Un nou fir poate fi creat într-o stare detașată folosind pthread_attr_setdetachstate(3) pentru a stabili atributul detașat al argumentului attr din pthread_create(3).

Atributul „detached” (detașat) determină pur și simplu comportamentul sistemului atunci când se termină firul de execuție; acesta nu împiedică terminarea firului de execuție în cazul în care procesul se termină folosind exit(3) (sau, în mod echivalent, în cazul în care firul principal iese din rutina de apelare).

Fie pthread_join(3), fie pthread_detach() ar trebui să fie apelat pentru fiecare fir de execuție creat de o aplicație, astfel încât resursele de sistem pentru firul de execuție să poată fi eliberate; (Rețineți însă că resursele oricăror fire de execuție pentru care nu a fost efectuată una dintre aceste acțiuni vor fi eliberate la terminarea procesului).

Următoarea instrucțiune detașează firul de apelare:


pthread_detach(pthread_self());

pthread_attr_setdetachstate(3), pthread_cancel(3), pthread_create(3), pthread_exit(3), pthread_join(3), pthreads(7)

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.

31 octombrie 2023 Pagini de manual de Linux 6.06