Параллельное и распределенное программирование на С++ (Хьюз, Хьюз) - страница 399

Описание

Функции pthread_attr_getschedparam() и pthread_attr_setschedparam() используются для считывания и установки соответственно атрибутов параметров планирования в объекте, заданном параметром attr. Содержимое структуры param определено в заголовке . Для установки стратегий планирования SCHED_FIFO и SCHED_RR единственным обязательным членом структуры param является sched_priority.

TSP Для установки стратегии планирования SCHED_SPORADIC необходимо установить следующие члены структуры param: sched_priority, sched_ss_low_priority, sched_ss_repl_period, sched_ss_ini t_budget и sched_ss_max_repl. Для успешного выполнения функции установки необходи м о, чтобы заданное значение члена sched_ss_repl_period было больше или равно значению заданного члена sched_ss_init _ budget; в противно м случае функция завершится неудачно. Для успешного выполнения функции установки также необходи м о, чтобы значение члена sched_ss_max_repl находилось в пределах включающего диапазона [1.{SS_REPL_MAX}]; в противном случае функция завершится неудачно.

Возвращаемые значения

При успешном завершении функции pthread_attr_getschedparam() и pthread_attr_setschedparam() возвращают нулевое значение; в противном случае — код ошибки, обозначающий ее характер.

Ошибки

Функция pthread_attr_setschedparam () м ожет завершиться неудачно, если:

[EINVAL]  значение, заданное пара м етро м param, недействительно;

[ ENOTSUP ] была сделана попытка установить атрибут равны м значению, которое не под д ерживается реализацией.

Эти функции не возвращают код ошибки [EINTR].

Примеры

Отсутствуют.

Замечания по использованию

После установки этих атрибутов поток м ожно создать путе м вызова функции pthread_create () с использование м объекта атрибутов. Применение этих функций не оказывает влияния на поток, выполняемый в данный момент.

Логическое обоснование

Отсутствует.

Будущие направления

Отсутствуют.

Смотри также

pthread_attr_destroy(), pthread_attr_getscope(), pthread_attr_getinheritsched(), pthread_attr_getschedpolicy(), pthread_create (), то м Base Definitions стандарта IEEE Std 1003.1-2001, , .

Последовательность внесения изменений

Функции впервые реализованы в выпуске Issue 5. Включены для согласования с расширение м POSIX Threads Extension.

Отмечены как часть группы Realtime Threads Feature Group.

Issue 6

Функции pthread_attr_getschedparam () и pthread_attr_setschedparam () отмечены как часть опции Threads.

В целях согласования со стандарто м IEEE Std 1003.1d-1999 была добавлена стратегия планирования