table of contents
- bookworm-backports 4.24.0-2~bpo12+1
- testing 4.24.0-2
- unstable 4.24.0-2
pthread_attr_setinheritsched(3) | Library Functions Manual | pthread_attr_setinheritsched(3) |
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)
SINOPSIS¶
#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-IEȘIRE¶
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(), pthread_attr_getinheritsched() | Siguranța firelor | MT-Safe |
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 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.
15 decembrie 2022 | Pagini de manual de Linux 6.03 |