pthread_attr_setschedpolicy, pthread_attr_getschedpolicy -
изменяет/возвращает
атрибут
политики
планирования
из объекта
атрибутов
нити
POSIX threads library (
libpthread,
-lpthread)
#include <pthread.h>
int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy);
int pthread_attr_getschedpolicy(const pthread_attr_t *restrict attr,
int *restrict policy);
Функция
pthread_attr_setschedpolicy()
изменяет
атрибут
политики
планирования
в объекте
атрибутов
нити, на
который
указывает
attr, в
значение
policy. Данным
атрибутом
определяется
политика
планирования
у нити,
созданной
с учётом
объекта
атрибутов
нити
attr.
Поддерживаемые
значения
policy:
SCHED_FIFO,
SCHED_RR и
SCHED_OTHER,
с
семантикой,
описанной
в
sched(7).
Функция
pthread_attr_getschedpolicy()
возвращает
атрибут
планирования
нити у
объекта
атрибутов
нити, на
который
указывает
attr, в буфер
на который
указывает
policy.
Для учёта
значения
политики,
заданной
pthread_attr_setschedpolicy(), при
вызове
pthread_create(3),
вызывающий
должен
использовать
pthread_attr_setinheritsched(3) для
присвоения
атрибуту
inherit-scheduler объекта
атрибутов
attr значения
PTHREAD_EXPLICIT_SCHED.
При
успешном
выполнении
эти
функции
возвращают
0; при ошибке
возвращается
ненулевой
номер
ошибки.
Функция
pthread_attr_setschedpolicy() может
завершиться
со
следующей
ошибкой:
- EINVAL
- Некорректное
значение
policy.
Для
pthread_attr_setschedpolicy() в POSIX.1
также
описана
необязательная
ошибка
ENOTSUP
(«попытка
изменить
атрибут на
не
поддерживаемое
значение»).
Описание
терминов
данного
раздела
смотрите в
attributes(7).
Интерфейс |
Атрибут |
Значение |
pthread_attr_setschedpolicy(),
pthread_attr_getschedpolicy() |
Безвредность
в нитях |
MT-Safe |
POSIX.1-2001, POSIX.1-2008.
Смотрите
pthread_setschedparam(3).
pthread_attr_init(3),
pthread_attr_setinheritsched(3),
pthread_attr_setschedparam(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]