pthread_attr_setschedparam, pthread_attr_getschedparam -
изменяет/возвращает
атрибуты
параметров
планирования
из объекта
атрибутов
нити
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(),
pthread_attr_getschedparam() |
Безвредность
в нитях |
MT-Safe |
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 <
[email protected]>, kogamatranslator49
<
[email protected]>, Kogan, Max Is <
[email protected]>, Yuri
Kozlov <
[email protected]> и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]