pthread_yield(3)
| PTHREAD_YIELD(3) | Руководство программиста Linux | PTHREAD_YIELD(3) |
ИМЯ
pthread_yield - освобождает процессор
ОБЗОР
#define _GNU_SOURCE /* Смотрите feature_test_macros(7) */ #include <pthread.h>
int pthread_yield(void);
Компилируется и компонуется вместе с -pthread.
ОПИСАНИЕ
Функция pthread_yield() заставляет вызывающую нить освободить процессор. Нить помещается в конец очереди выполнения согласно её статическому приоритету, и управление передаётся другой нити. Дополнительную информацию можно найти в sched_yield(2).
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении pthread_yield() возвращается 0; при ошибке возвращается номер ошибки.
ОШИБКИ
В Linux эта функция всегда выполняется успешно (но в переносимых приложениях нужно учитывать возможность возврата ошибки).
АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
| Интерфейс | Атрибут | Значение |
| pthread_yield() | Безвредность в нитях | MT-Safe |
СООТВЕТСТВИЕ СТАНДАРТАМ
Эта функция является нестандартной, но присутствует в некоторых других системах. Вместо неё используйте стандартный вызов sched_yield(2).
ЗАМЕЧАНИЯ
В Linux эта функция реализована как вызов sched_yield(2).
Функция pthread_yield() предназначена для использования с алгоритмами планирования реального времени (т. е., SCHED_FIFO или SCHED_RR). Использование pthread_yield() с недерминированными алгоритмами планирования, такими как SCHED_OTHER, не определено и указывает на, вероятно, неправильно разработанное приложение.
СМОТРИТЕ ТАКЖЕ
| 2017-11-26 | Linux |
