pthread_attr_setscope(3) Library Functions Manual pthread_attr_setscope(3) NUME pthread_attr_setscope, pthread_attr_getscope - stabilete/obine atributul domeniului de contenie in obiectul atributele firului de execuie BIBLIOTECA Biblioteca de fire de execuie POSIX (libpthread, -lpthread) REZUMAT #include int pthread_attr_setscope(pthread_attr_t *attr, int scope); int pthread_attr_getscope(const pthread_attr_t *restrict attr, int *restrict scope); DESCRIERE Funcia pthread_attr_attr_setscope() stabilete atributul domeniului de contenie al obiectului de atribute ale firelor la care face referire attr la valoarea specificata in scope. Atributul "contention scope" definete setul de fire de execuie impotriva carora un fir de execuie concureaza pentru resurse precum CPU. POSIX.1 specifica doua valori posibile pentru scope: PTHREAD_SCOPE_SYSTEM Firul concureaza pentru resurse cu toate celelalte fire din toate procesele din sistem care se afla in acelai domeniu de alocare a planificarii (un grup de unul sau mai multe procesoare). Firele PTHREAD_SCOPE_SYSTEM sunt planificate unele in raport cu altele in funcie de politica de planificare i de prioritaile lor. PTHREAD_SCOPE_PROCESS Firul concureaza pentru resurse cu toate celelalte fire din acelai proces care au fost create, de asemenea, cu domeniul de contenie PTHREAD_SCOPE_PROCESS. Firele de execuie PTHREAD_SCOPE_PROCESS sunt planificate in raport cu celelalte fire de execuie din proces in funcie de politica de planificare i de prioritatea lor. POSIX.1 nu specifica modul in care aceste fire concureaza cu alte fire din alte procese din sistem sau cu alte fire din acelai proces care au fost create cu domeniul de contenie PTHREAD_SCOPE_SYSTEM. POSIX.1 impune ca o implementare sa asigure suportul pentru cel puin unul dintre aceste domenii de contenie. Linux accepta PTHREAD_SCOPE_SYSTEM, dar nu i PTHREAD_SCOPE_PROCESS. Pe sistemele care accepta mai multe domenii de contenie, atunci, pentru ca stabilirea parametrilor efectuata de pthread_attr_attr_setscope() sa aiba efect atunci cand se apeleaza pthread_create(3), apelantul trebuie sa utilizeze pthread_attr_setinheritsched(3) pentru a stabili atributul inherit-scheduler al obiectului de atribute attr la PTHREAD_EXPLICIT_SCHED. Funcia pthread_attr_getscope() returneaza atributul domeniului de contenie al obiectului atributelor firului de execuie la care se face referire prin attr in memoria tampon indicata de scope. VALOAREA RETURNATA In caz de succes, aceste funcii returneaza 0; in caz de eroare, ele returneaza un numar de eroare diferit de zero. ERORI-IEIRE pthread_attr_setscope() poate eua cu urmatoarele erori: EINVAL A fost specificata o valoare nevalida in scop. ENOTSUP scope a specificat valoarea PTHREAD_SCOPE_PROCESS, care nu este acceptata pe Linux. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +--------------------------------------+---------------------+---------+ |Interfaa | Atribut | Valoare | +--------------------------------------+---------------------+---------+ |pthread_attr_setscope(), | Sigurana firelor | MT-Safe | |pthread_attr_getscope() | | | +--------------------------------------+---------------------+---------+ STANDARDE POSIX.1-2008. ISTORIC POSIX.1-2001. NOTE Domeniul de contenie PTHREAD_SCOPE_SYSTEM indica de obicei faptul ca un fir din spaiul utilizatorului este legat direct de o singura entitate de planificare a nucleului. Acesta este cazul pe Linux pentru implementarea invechita LinuxThreads i pentru implementarea moderna NPTL, care sunt ambele implementari 1:1 de fire de execuie. POSIX.1 specifica faptul ca domeniul implicit de contenie este definit de implementare. CONSULTAI I pthread_attr_init(3), pthread_attr_setaffinity_np(3), pthread_attr_setinheritsched(3), pthread_attr_setschedparam(3), pthread_attr_setschedpolicy(3), pthread_create(3), pthreads(7) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 pthread_attr_setscope(3)