Man page - pthread_attr_setinheritsched(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

pthread_attr_setinheritsched

НАИМЕНОВАНИЕ
БИБЛИОТЕКА
ОБЗОР
ОПИСАНИЕ
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
ОШИБКИ
АТРИБУТЫ
СТАНДАРТЫ
ИСТОРИЯ
ОШИБКИ
ПРИМЕРЫ
СМОТРИТЕ ТАКЖЕ
ПЕРЕВОД

НАИМЕНОВАНИЕ

pthread_attr_setinheritsched, pthread_attr_getinheritsched - изменяет/возвращает атрибут наследования планировщика из объекта атрибутов нити

БИБЛИОТЕКА

Библиотека потоков POSIX ( libpthread , -lpthread )

ОБЗОР

#include <pthread.h>

int pthread_attr_setinheritsched(pthread_attr_t * attr ,
int
inheritsched );
int pthread_attr_getinheritsched(const pthread_attr_t *restrict
attr ,
int *restrict
inheritsched );

ОПИСАНИЕ

Функция pthread_attr_setinheritsched () изменяет атрибут наследования планировщика у объекта атрибутов нити, на которую указывает attr , на значение, заданное в inheritsched . Атрибут наследования планировщика определяет будет ли нить, создаваемая с учётом объекта атрибутов нити attr , наследовать свои атрибуты планировщика от вызывающей нити или для этого будут использованы значения из attr .

Атрибуты планирования, на которые влияет атрибут наследования планировщика: алгоритм планирования ( pthread_attr_setschedpolicy (3)), приоритет планирования ( pthread_attr_setschedparam (3)) и область конкурирования ( pthread_attr_setscope (3)).

В inheritsched можно указать следующие значения:
PTHREAD_INHERIT_SCHED

Нити, создаваемые с учётом attr , наследуют атрибуты планирования от создающей нити; атрибуты планирования attr игнорируются.

PTHREAD_EXPLICIT_SCHED

Нити, создаваемые с учётом attr , берут значения атрибутов планирования из указанного объекта атрибутов.

Значением по умолчанию для атрибута наследования планировщика в инициализируемом объекте атрибутов нити является PTHREAD_INHERIT_SCHED .

Функция pthread_attr_getinheritsched () возвращает атрибут наследования планировщика у объекта атрибутов нити, на который указывает attr , в буфер на который указывает inheritsched .

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении эти функции возвращают 0; при ошибке возвращается ненулевой номер ошибки.

ОШИБКИ

Функция pthread_attr_setinheritsched () может завершиться со следующей ошибкой:

EINVAL

Некорректное значение inheritsched .

Для pthread_attr_setinheritsched () в POSIX.1 также описана необязательная ошибка ENOTSUP («попытка изменить атрибут на не поддерживаемое значение»).

АТРИБУТЫ

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

Image grohtml-617489-1.png

СТАНДАРТЫ

POSIX.1-2008.

ИСТОРИЯ

glibc 2.0. POSIX.1-2001.

ОШИБКИ

По состоянию на glibc 2.8, если объект атрибутов нити инициализирован с помощью pthread_attr_init (3), то алгоритму планирования в объекте атрибутов присваивается SCHED_OTHER , а приоритет планирования равен 0. Однако, если затем атрибут наследования планировщика устанавливается в PTHREAD_EXPLICIT_SCHED , то нить, создаваемая с учётом объекта атрибутов, неправильно наследует свои атрибуты планирования от создающей нити. Этот дефект не проявляется, если значение атрибута алгоритма планирования или приоритета планирования назначается явно в объекте атрибутов нити до вызова pthread_create (3).

ПРИМЕРЫ

Смотрите pthread_setschedparam (3).

СМОТРИТЕ ТАКЖЕ

pthread_attr_init (3), pthread_attr_setschedparam (3), pthread_attr_setschedpolicy (3), pthread_attr_setscope (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> и Kirill Rekhov <krekhov.dev@gmail.com>

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

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