sched_yield(2) | System Calls Manual | sched_yield(2) |
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
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 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.
2 maja 2024 r. | Linux man-pages 6.9.1 |