pthread_setconcurrency(3) Library Functions Manual pthread_setconcurrency(3)

pthread_setconcurrency, pthread_getconcurrency - stabilește/obține nivelul de concurență

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

#include <pthread.h>
int pthread_setconcurrency(int new_level);
int pthread_getconcurrency(void);

Funcția pthread_setconcurrency() informează implementarea cu privire la nivelul de simultaneitate dorit de aplicație, specificat în new_level. Implementarea ia acest lucru doar ca un indiciu: POSIX.1 nu specifică nivelul de concurență care ar trebui să fie furnizat ca urmare a apelării pthread_setconcurrency().

Specificând new_level ca fiind 0, se solicită implementării să gestioneze nivelul de concurență după cum consideră adecvat.

pthread_getconcurrency() returnează valoarea curentă a nivelului de simultaneitate pentru acest proces.

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

pthread_getconcurrency() reușește întotdeauna, returnând nivelul de concurență stabilit printr-un apel anterior la pthread_setconcurrency(), sau 0, dacă pthread_setconcurrency() nu a fost apelat anterior.

pthread_setconcurrency() poate eșua cu următoarea eroare:

new_level este negativ.

POSIX.1 documentează, de asemenea, o eroare EAGAIN („valoarea specificată de new_level ar determina depășirea unei resurse de sistem”).

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

Interfață Atribut Valoare
pthread_setconcurrency(), pthread_getconcurrency() Siguranța firelor MT-Safe

POSIX.1-2008.

glibc 2.1. POSIX.1-2001.

Nivelul implicit de concurență(simultaneitate) este 0.

Nivelurile de concurență sunt semnificative numai pentru implementările de fire M:N, în care, în orice moment, un subset din setul de fire de la nivelul utilizatorului al unui proces poate fi legat de un număr mai mic de entități de programare a nucleului. Stabilirea nivelului de concurență permite aplicației să ofere sistemului un indiciu cu privire la numărul de entități de planificare a nucleului care ar trebui să fie furnizate pentru o execuție eficientă a aplicației.

Atât LinuxThreads, cât și NPTL sunt implementări 1:1, astfel încât stabilirea nivelului de concurență nu are nicio semnificație. Cu alte cuvinte, pe Linux, aceste funcții există doar pentru compatibilitatea cu alte sisteme și nu au niciun efect asupra execuției unui program.

pthread_attr_setscope(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.

2 mai 2024 Pagini de manual de Linux 6.8