pthread_attr_setschedparam(3) Library Functions Manual pthread_attr_setschedparam(3)

ИМЯ

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() может завершиться со следующей ошибкой:

Приоритет, указанный в param, не имеет смысла при текущей политике планирования attr.

В POSIX.1 также описана ошибка ENOTSUP для pthread_attr_setschedparam(). Это значение никогда не возвращается Linux (тем не менее, в переносимых и новых приложениях нужно учитывать возможность возврата этого значения ошибки).

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).

Интерфейс Атрибут Значение
pthread_attr_setschedparam(), pthread_attr_getschedparam() Безвредность в нитях MT-Safe

СТАНДАРТЫ

POSIX.1-2008.

ИСТОРИЯ

POSIX.1-2001. glibc 2.0.

ПРИМЕЧАНИЯ

Список алгоритмов планирования для нитей, поддерживаемых в 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>, Darima Kogan <silverdk99@gmail.com>, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.

2 мая 2024 г. Linux man-pages 6.8