pthread_setschedparam()

Установить параметры планирования и дисциплину потока

Прототип:

#include <pthread.h>
int pthread_setschedparam( pthread_t thread,
int policy,
const struct sched_param *param );

Аргументы:

thread
Идентификатор потока, для которого требуется получить параметры планирования. Получить идентификатор потока можно, вызвав pthread_create() или pthread_self().
policy
Новая политика планирования; одна из следующих:
SCHED_FIFO
планировщик с фиксированным приоритетом, в котором готовый поток с наивысшим приоритетом работает до тех пор, пока он не заблокируется или не будет вытеснен потоком с более высоким приоритетом.
SCHED_RR
то же, что и SCHED_FIFO, за исключением потоков с тем же временным интервалом уровня приоритета (round robin - карусельная диспетчеризация) каждые 4 тактовых периода (см. ClockPeriod()).
SCHED_OTHER
в настоящее время такая же, как SCHED_RR.
SCHED_SPORADIC
спорадическое планирование.
param
Указатель на struct sched_param, которая указывает параметры планирования, которые требуется использовать.

Библиотека:

libc

Описание:

Функция pthread_setschedparam() устанавливает политику планирования и связанные с ней параметры планирования потока thread в значения, указанные в policy и param.

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

EOK
Успешное завершение.
EINVAL
Недопустимая политика планирования policy или параметры param.
ENOTSUP
Политика планирования policy или параметры param не поддерживаются.
EPERM
Недостаточно прав для изменения политики планирования policy или параметров param.
ESRCH
Некорректный идентификатор потока thread.

Классификация:

POSIX 1003.1 THR TPS

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

struct sched_param, pthread_getschedparam(), pthread_setschedprio()




Предыдущий раздел: Описание API системной библиотеки