Provided by: manpages-pl-dev_4.23.1-1_all bug

NAZWA

       sched_yield - oddaje procesor

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <sched.h>

       int sched_yield(void);

OPIS

       sched_yield()  powoduje  zrezygnowanie  z używania procesora przez wywołujący wątek. Wątek
       będzie przeniesiony  na  koniec  kolejki  swojego  statycznego  priorytetu  i  uruchomiony
       zostanie kolejny wątek.

WARTOŚĆ ZWRACANA

       Po  pomyślnym  zakończeniu  sched_yield()  zwraca  zero.  Po  błędzie  zwracane  jest -1 i
       ustawiane errno wskazując błąd.

BŁĘDY

       W implementacji linuksowej, sched_yield() zawsze kończy się powodzeniem.

STANDARDY

       POSIX.1-2008.

HISTORIA

       POSIX.1-2001 (lecz opcjonalne).  POSIX.1-2008.

       Przed  POSIX.1-2008  systemy,  na  których  dostępny  jest  sched_yield()  definiowały   w
       <unistd.h> _POSIX_PRIORITY_SCHEDULING.

ZASTRZEŻENIA

       sched_yield()   jest   przeznaczony  do  użycia  z  politykami  szeregowania  zadań  czasu
       rzeczywistego (tj. SCHED_FIFO lub SCHED_RR).  Korzystanie  z  sched_yield()  z  politykami
       szeregowania   zadań,   które  nie  są  deterministyczne,  takimi  jak  SCHED_OTHER,  daje
       nieokreślony rezultat  i  prawdopodobnie  oznacza,  że  aplikacja  tak  działająca  wymaga
       przeprojektowania.

       Jeśli  wątek wywołujący jest jedynym wątkiem w najwyższej liście priorytetów, po wywołaniu
       sched_yield() jego działanie będzie trwać dalej.

       Należy unikać niepotrzebnego lub nieodpowiedniego (np. gdy  zasoby  potrzebne  przez  inne
       szeregowane  wątki  są  wciąż  utrzymywane  przez wywołującego) wywoływania sched_yield(),
       ponieważ dokonywanie tego  będzie  powodowało  niepotrzebne  przełączanie  kontekstów,  co
       wpływa negatywnie na wydajność systemu.

ZOBACZ TAKŻE

       sched(7)

TŁUMACZENIE

       Autorami   polskiego   tłumaczenia   niniejszej   strony  podręcznika  są:  Przemek  Borys
       <pborys@dione.ids.pl> i Michał Kułach <michal.kulach@gmail.com>

       Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe  informacje  o  warunkach  licencji
       można   uzyskać   zapoznając   się   z   GNU   General   Public   License   w   wersji   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  lub  nowszej.  Nie   przyjmuje   się   ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres listy dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.