Provided by: manpages-ro-dev_4.21.0-2_all
NUME
pthread_attr_setinheritsched, pthread_attr_getinheritsched - stabilește/obține atributul inherit-scheduler (moștenire-planificare) în obiectul de atribute ale firului de execuție
BIBLIOTECA
Biblioteca de fire de execuție POSIX (libpthread, -lpthread)
REZUMAT
#include <pthread.h> int pthread_attr_setinheritsched(pthread_attr_t *attr, int inheritsched); int pthread_attr_getinheritsched(const pthread_attr_t *restrict attr, int *restrict inheritsched);
DESCRIERE
Funcția pthread_attr_setinheritsched() stabilește atributul inherit-scheduler al obiectului de atribute de fire la care face referire attr la valoarea specificată în inheritsched. Atributul inherit-scheduler determină dacă un fir creat cu ajutorul obiectului de atribute de fir attr își va moșteni atributele de planificare de la firul apelant sau dacă le va prelua de la attr. Următoarele atribute de planificare sunt afectate de atributul inherit-scheduler: politica de planificare (pthread_attr_setschedpolicy(3)), prioritatea de planificare (pthread_attr_setschedparam(3)) și domeniul de contenție (pthread_attr_setscope(3)). Următoarele valori pot fi specificate în inheritsched: PTHREAD_INHERIT_SCHED Firele care sunt create utilizând attr moștenesc atributele de planificare de la firul creator; atributele de planificare din attr sunt ignorate. PTHREAD_EXPLICIT_SCHED Firele care sunt create utilizând attr își iau atributele de planificare din valorile specificate de obiectul attributes. Stabilirea implicită a atributului "inherit-scheduler" într-un obiect de atribute de fir nou inițializat este PTHREAD_INHERIT_SCHED. pthread_attr_getinheritsched() returnează atributul inherit-scheduler al obiectului attr al atributelor firului de execuție în memoria tampon indicată de inheritsched.
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_setinheritsched() poate eșua cu următoarea eroare: EINVAL Valoare nevalidă în inheritsched. POSIX.1 documentează, de asemenea, o eroare opțională ENOTSUP („s-a încercat stabilirea atributului la o valoare neacceptată”) pentru pthread_attr_setinheritsched().
ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7). ┌───────────────────────────────────────────────────────────┬───────────────────┬─────────┐ │Interfață │ Atribut │ Valoare │ ├───────────────────────────────────────────────────────────┼───────────────────┼─────────┤ │pthread_attr_setinheritsched(), │ Siguranța firelor │ MT-Safe │ │pthread_attr_getinheritsched() │ │ │ └───────────────────────────────────────────────────────────┴───────────────────┴─────────┘
STANDARDE
POSIX.1-2001, POSIX.1-2008.
ERORI
Ca și în glibc 2.8, dacă un obiect de atribute ale unui fir este inițializat folosind pthread_attr_init(3), atunci politica de planificare a obiectului de atribute este stabilită la SCHED_OTHER și prioritatea de planificare este stabilită la 0. Cu toate acestea, dacă atributul inherit-scheduler este apoi stabilit la PTHREAD_EXPLICIT_SCHED, atunci un fir creat folosind obiectul de atribute moștenește în mod greșit atributele de planificare de la firul care l-a creat. Această eroare nu apare în cazul în care fie politica de planificare, fie atributul de prioritate de planificare este stabilit în mod explicit în obiectul "thread attributes" înainte de a apela pthread_create(3).
EXEMPLE
A se vedea pthread_setschedparam(3).
CONSULTAȚI ȘI
pthread_attr_init(3), pthread_attr_setschedparam(3), pthread_attr_setschedpolicy(3), pthread_attr_setscope(3), pthread_create(3), pthread_setschedparam(3), pthread_setschedprio(3), pthreads(7), sched(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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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⟩.