Provided by: manpages-ru-dev_4.19.0-7_all
ИМЯ
pthread_attr_setschedparam, pthread_attr_getschedparam - изменяет/возвращает атрибуты параметров планирования из объекта атрибутов нити
LIBRARY
POSIX threads library (libpthread, -lpthread)
СИНТАКСИС
#include <pthread.h> int pthread_attr_setschedparam(pthread_attr_t *restrict attr, const struct sched_param *restrict param); int pthread_attr_getschedparam(const pthread_attr_t *restrict attr, struct sched_param *restrict param);
ОПИСАНИЕ
Функция pthread_attr_setschedparam() изменяет атрибуты параметров планирования в объекте атрибутов нити, на который указывает attr, в значения из буфера, на который указывает param. Данными атрибутами определяются параметры планирования нити, созданной с учётом объекта атрибутов нити attr. Функция pthread_attr_getschedparam() возвращает атрибуты параметров планирования у объекта атрибутов нити, на который указывает attr, в буфер на который указывает param. Параметры планирования хранятся в структуре следующего вида: struct sched_param { int sched_priority; /* планируемый приоритет */ }; Из той структуры видно, что поддерживается только один параметр. Подробности о разрешённых диапазонах планируемых приоритетов для каждого алгоритма планирования смотрите в sched(7). Для учёта значения параметра, заданного pthread_attr_setschedparam(), при вызове pthread_create(3), вызывающий должен использовать pthread_attr_setinheritsched(3) для присвоения атрибуту inherit-scheduler объекта атрибутов attr значения PTHREAD_EXPLICIT_SCHED.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении эти функции возвращают 0; при ошибке возвращается ненулевой номер ошибки.
ОШИБКИ
Функция pthread_attr_setschedparam() может завершиться со следующей ошибкой: EINVAL Приоритет, указанный в param, не имеет смысла при текущей политике планирования attr. В POSIX.1 также описана ошибка ENOTSUP для pthread_attr_setschedparam(). Это значение никогда не возвращается Linux (тем не менее, в переносимых и новых приложениях нужно учитывать возможность возврата этого значения ошибки).
АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7). ┌───────────────────────────────────────────────────────┬──────────────────────┬──────────┐ │Интерфейс │ Атрибут │ Значение │ ├───────────────────────────────────────────────────────┼──────────────────────┼──────────┤ │pthread_attr_setschedparam(), │ Безвредность в нитях │ MT-Safe │ │pthread_attr_getschedparam() │ │ │ └───────────────────────────────────────────────────────┴──────────────────────┴──────────┘
СТАНДАРТЫ
POSIX.1-2001, POSIX.1-2008.
ЗАМЕЧАНИЯ
Список алгоритмов планирования для нитей, поддерживаемых в Linux смотрите в pthread_attr_setschedpolicy(3).
ПРИМЕРЫ
Смотрите pthread_setschedparam(3).
СМ. ТАКЖЕ
sched_get_priority_min(2), pthread_attr_init(3), pthread_attr_setinheritsched(3), pthread_attr_setschedpolicy(3), pthread_create(3), pthread_setschedparam(3), pthread_setschedprio(3), pthreads(7), sched(7)
ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Kogan, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com> Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.