Чтение онлайн

ЖАНРЫ

Параллельное и распределенное программирование на С++
Шрифт:

2. Если потоки размещают в стеке большие структуры данных, то для обнаружения факта переполнения стека могут понадобиться области защиты большого объема.

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

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

Смотри также

То м Base Definitions стандарта IEEE Std 1003.1-2001.

<pthread.h> , <sys/mman.h>.

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

Функции впервые реализованы в выпуске Issue 5.

Issue 6

Из раздела «Ошибки» было удалено третье условие возникновения ошибки [EINVAL] ,

поскольку оно включается во второе условие.

В целях согласования со стандарто м ISO/IEC 9899: 1999 в прототип функции pthread_attr_getguardsize было добавлено ключевое слово restrict.

pthread_attr_getinheritsched, pthread_attr_setinheritsched

Имя

pthread_attr_getinheritsched, pthread_attr_setinheritsched— функции считывания и установки атрибута inheritsched (REALTIME THREADS).

Синопсис

THRTPS #include <pthread.h>

int pthread_attr_getinheritsched (

const pthread_attr_t *restrict attr, int *restrict inheritsched);

int pthread_attr_setinheritsched (pthread_attr_t *attr,

int inheritsched);

Описание

Функции pthread_attr_getinheritsched и pthread_attr_setinheritsched используются для считывания и установки соответственно атрибута inheri tsched в объекте, заданно м пара м етро м аttr.

Если при вызове функции pthread_create используются объекты атрибутов, то атрибут inheritsched определяет, как будут устанавливаться другие атрибуты планирования создавае м ого потока.

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

Значение PTHREAD_EXPLICIT_SCHED подразу м евает, что атрибуты планирования потоков устанавливаются равны м и соответствующи м значения м, содержащи м ся в объекте атрибутов, заданно м пара м етро м attr.

Значения PTHREAD_INHERIT_SCHED и PTHREAD_EXPLICIT_SCHED определяются в заголовке <pthread. h>.

От значения атрибута inheritsched зависят следующие атрибуты планирования потоков, определенные стандарто м IEEE Std ЮОЗ.1-2001: стратегия планирования (schedpolicy), пара м етры планирования (schedparam) и область конкуренции (contentionscope).

Возвращаемые

значения

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

Ошибки

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

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

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

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

Примеры

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

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

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

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

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

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

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

Смотри также

pthread_attr_destroy , pthread_attr_getscope , pthread_attr_getschedpolicy, pthread_attr_getschedparam, pthread_create , то м Base Definitions стандарта IEEE Std 1003.1-2001, <pthread.h>, <sched.h>.

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

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

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

Issue 6

Функции pthread_attr_getinheritsched и pthread_attr_setinheritsched от м ечены как часть опций Threads и Thread Execution Scheduling.

Условие ошибки [ENOSYS] было удалено,поскольку в заглушках нет необходимости, если реализация не поддерживает опцию Thread Execution Scheduling.

В целях согласования со стандартом ISO/IEC 9899: 1999 в прототип функции pthread_attr_getinheritsched было добавлено ключевое слово restrict.

pthread_attr_getschedparam, pthread_attr_setschedparam

Имя

pthread_attr_getschedparam, pthread_attr_setschedparam— функции считывания и установки атрибута schedparam.

Синопсис

THR #include <pthread.h>

int pthread_attr_getschedparam (const pthread_attr_t *restrict attr, struct sched_param *restrict param);

int pthread_attr_setschedparam (pthread_attr_t *restrict attr,const struct sched_param *restrict param);

Поделиться с друзьями: