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

NUME

       sched_yield - cedează procesorul

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

REZUMAT

       #include <sched.h>

       int sched_yield(void);

DESCRIERE

       sched_yield()  face  ca  firul  apelant  să renunțe la CPU.  Firul este mutat la sfârșitul
       cozii de așteptare pentru prioritatea sa statică și un nou fir ajunge să ruleze.

VALOAREA RETURNATĂ

       În caz de succes, sched_yield() returnează 0.  În caz de eroare,  se  returnează  -1,  iar
       errno este configurată pentru a indica eroarea.

ERORI

       În implementarea Linux, sched_yield() reușește întotdeauna.

STANDARDE

       POSIX.1-2001, POSIX.1-2008.

NOTE

       În  cazul  în  care firul apelant este singurul fir din lista de prioritate maximă în acel
       moment, acesta va continua să ruleze după un apel la sched_yield().

       Sistemele POSIX pe care este disponibil sched_yield() definesc  _POSIX_PRIORITY_SCHEDULING
       în <unistd.h>.

       Apelurile  strategice la sched_yield() pot îmbunătăți performanța prin oferirea unei șanse
       altor fire de execuție sau procese de a rula atunci când  resursele  (puternic)  disputate
       (de  exemplu,  mutex-urile)  au  fost  eliberate  de  către  apelant.   Evitați să apelați
       sched_yield() în mod  inutil  sau  necorespunzător  (de  exemplu,  atunci  când  resursele
       necesare  altor  fire  de  execuție  programabile sunt încă deținute de apelant), deoarece
       acest lucru va duce la schimbări inutile  de  context,  ceea  ce  va  degrada  performanța
       sistemului.

       sched_yield()  este  destinat  utilizării cu politicile de planificare în timp real (adică
       SCHED_FIFO  sau  SCHED_RR).   Utilizarea  sched_yield()   cu   politici   de   planificare
       nedeterministe,  cum  ar fi SCHED_OTHER, este nespecificată și foarte probabil înseamnă că
       proiectul aplicației dumneavoastră este defect.

CONSULTAȚI ȘI

       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⟩.