oracular (2) sched_yield.2.gz

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