Linux
2017-09-15
Aliases: pthread_attr_getschedparam(3), pthread_attr_getschedparam(3), pthread_attr_getschedparam(3), pthread_attr_getschedparam(3), pthread_attr_getschedparam(3), pthread_attr_getschedparam(3)
man-pages-ru
Russian man pages from the Linux Documentation Project
manpages-dev
Manual pages about using GNU/Linux for development
man-pages
Linux kernel and C library user-space interface documentation
ИМЯ
pthread_attr_setschedparam, pthread_attr_getschedparam - изменяет/возвращает атрибуты параметров планирования из объекта атрибутов нити
ОБЗОР
#include <pthread.h>
int pthread_attr_setschedparam(pthread_attr_t *attr, const struct sched_param *param); int pthread_attr_getschedparam(const pthread_attr_t *attr, struct sched_param *param);
Компилируется и компонуется вместе с -pthread.
ОПИСАНИЕ
Функция pthread_attr_setschedparam() изменяет атрибуты параметров планирования в объекте атрибутов нити, на который указывает attr, в значения из буфера, на который указывает param. Данными атрибутами определяются параметры планирования нити, созданной с учётом объекта атрибутов нити attr.
Функция pthread_attr_getschedparam() возвращает атрибуты параметров планирования у объекта атрибутов нити, на который указывает attr, в буфер на который указывает param.
Параметры планирования хранятся в структуре следующего вида:
struct sched_param {
int sched_priority; /* планируемый приоритет */ };
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() может завершиться со следующей ошибкой:
В POSIX.1 также описана ошибка ENOTSUP для pthread_attr_setschedparam(). Это значение никогда не возвращается Linux (тем не менее, в переносимых и новых приложениях нужно учитывать возможность возврата этого значения ошибки).
EINVAL | Приоритет, указанный в param, не имеет смысла при текущей политике планирования attr. |
АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение |
pthread_attr_setschedparam(), pthread_attr_getschedparam() | Безвредность в нитях | MT-Safe |
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1-2001, POSIX.1-2008.
ЗАМЕЧАНИЯ
Список алгоритмов планирования для нитей, поддерживаемых в Linux смотрите в pthread_attr_setschedpolicy(3).
ПРИМЕР
Смотрите pthread_setschedparam(3).