sched_yield(2)

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.