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

ИМЯ

       sched_yield - освободить процессор

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <sched.h>

       int sched_yield(void);

ОПИСАНИЕ

       Вызов  sched_yield()  заставляет  вызывающую нить освободить процессор. Нить перемещается в конец очереди
       согласно её статическому приоритету, и управление передаётся другой нити.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       При успешном выполнении sched_yield() возвращается 0; при ошибке возвращается -1, а  в  errno  содержится
       код ошибки.

ОШИБКИ

       В Linux-реализации sched_yield() всегда завершается успешно.

СТАНДАРТЫ

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

ЗАМЕЧАНИЯ

       Если  вызывающая  нить  единственная  в  списке с самым высоким приоритетом, то она продолжит выполняться
       после вызова sched_yield().

       В системах  POSIX,  в  которых  доступен  вызов  sched_yield(),  определён  _POSIX_PRIORITY_SCHEDULING  в
       <unistd.h>.

       Оперативные вызовы sched_yield() могут улучшить производительность, давая другим нитям или процессам шанс
       поработать,  когда (сильно) оспариваемые ресурсы (например, мьютексы) освобождаются вызывающим. Избегайте
       частых  или  нецелесообразных  вызовов  sched_yield()  (например,  когда  ресурсы,   необходимые   других
       планируемым  нитям, по-прежнему удерживаются вызывающим), так как это приводит к чрезмерному переключению
       контекстов, что ухудшит производительность системы.

       Функция sched_yield() предназначена для использования с алгоритмами планирования  реального  времени  (т.
       е.,  SCHED_FIFO или SCHED_RR). Использование sched_yield() с недерминированными алгоритмами планирования,
       такими как SCHED_OTHER, не определено и указывает на, вероятно, неправильно разработанное приложение.

СМ. ТАКЖЕ

       sched(7)

ПЕРЕВОД

       Русский перевод этой страницы  руководства  был  сделан  Alexander  Golubev  <fatzer2@gmail.com>,  Azamat
       Hackimov   <azamat.hackimov@gmail.com>,   Hotellook,   Nikita   <zxcvbnm3230@mail.ru>,  Spiros  Georgaras
       <sng@hellug.gr>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и  Иван  Павлов
       <pavia00@gmail.com>

       Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3
       или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо
       на man-pages-ru-talks@lists.sourceforge.net.

Linux man-pages 6.03                           30 октября 2022 г.                                 sched_yield(2)