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

NUME
pthread_attr_setscope, pthread_attr_getscope - stabilește/obține atributul domeniului de contenție în
obiectul atributele firului de execuție
BIBLIOTECA
Biblioteca de fire de execuție POSIX (libpthread, -lpthread)
REZUMAT
#include <pthread.h>
int pthread_attr_setscope(pthread_attr_t *attr, int scope);
int pthread_attr_getscope(const pthread_attr_t *restrict attr,
int *restrict scope);
DESCRIERE
Funcția pthread_attr_attr_setscope() stabilește atributul domeniului de contenție al obiectului de
atribute ale firelor la care face referire attr la valoarea specificată în scope. Atributul "contention
scope" definește setul de fire de execuție împotriva cărora un fir de execuție concurează pentru resurse
precum CPU. POSIX.1 specifică două valori posibile pentru scope:
PTHREAD_SCOPE_SYSTEM
Firul concurează pentru resurse cu toate celelalte fire din toate procesele din sistem care se
află în același domeniu de alocare a planificării (un grup de unul sau mai multe procesoare).
Firele PTHREAD_SCOPE_SYSTEM sunt planificate unele în raport cu altele în funcție de politica de
planificare și de prioritățile lor.
PTHREAD_SCOPE_PROCESS
Firul concurează pentru resurse cu toate celelalte fire din același proces care au fost create, de
asemenea, cu domeniul de contenție PTHREAD_SCOPE_PROCESS. Firele de execuție
PTHREAD_SCOPE_PROCESS sunt planificate în raport cu celelalte fire de execuție din proces în
funcție de politica de planificare și de prioritatea lor. POSIX.1 nu specifică modul în care
aceste fire concurează cu alte fire din alte procese din sistem sau cu alte fire din același
proces care au fost create cu domeniul de contenție PTHREAD_SCOPE_SYSTEM.
POSIX.1 impune ca o implementare să asigure suportul pentru cel puțin unul dintre aceste domenii de
contenție. Linux acceptă PTHREAD_SCOPE_SYSTEM, dar nu și PTHREAD_SCOPE_PROCESS.
Pe sistemele care acceptă mai multe domenii de contenție, atunci, pentru ca stabilirea parametrilor
efectuată de pthread_attr_attr_setscope() să aibă efect atunci când se apelează pthread_create(3),
apelantul trebuie să utilizeze pthread_attr_setinheritsched(3) pentru a stabili atributul
inherit-scheduler al obiectului de atribute attr la PTHREAD_EXPLICIT_SCHED.
Funcția pthread_attr_getscope() returnează atributul domeniului de contenție al obiectului atributelor
firului de execuție la care se face referire prin attr în memoria tampon indicată de scope.
VALOAREA RETURNATĂ
În caz de succes, aceste funcții returnează 0; în caz de eroare, ele returnează un număr de eroare
diferit de zero.
ERORI
pthread_attr_setscope() poate eșua cu următoarele erori:
EINVAL A fost specificată o valoare nevalidă în scop.
ENOTSUP
scope a specificat valoarea PTHREAD_SCOPE_PROCESS, care nu este acceptată pe Linux.
ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
│ Interfață │ Atribut │ Valoare │
├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
│ pthread_attr_setscope(), pthread_attr_getscope() │ Siguranța firelor │ MT-Safe │
└─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘
STANDARDE
POSIX.1-2001, POSIX.1-2008.
NOTE
Domeniul de contenție PTHREAD_SCOPE_SYSTEM indică de obicei faptul că un fir din spațiul utilizatorului
este legat direct de o singură entitate de planificare a nucleului. Acesta este cazul pe Linux pentru
implementarea învechită LinuxThreads și pentru implementarea modernă NPTL, care sunt ambele implementări
1:1 de fire de execuție.
POSIX.1 specifică faptul că domeniul implicit de contenție este definit de implementare.
CONSULTAȚI Ș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 în limba română a acestui manual a fost creată 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.03 15 decembrie 2022 pthread_attr_setscope(3)