Читаем Параллельное и распределенное программирование на С++ полностью

Реализация может округлить значение, содержащееся в атрибуте guardsize, до числа, кратного значению реконфигурируемой системной переменной {PAGESIZE} (см. заголовок ). Если реализация округлит значение атрибута guardsize до числа, кратного значению пере м енной {PAGESIZE}, то при вызове функции pthread_attr_getguardsize () с заданным параметром attr в пара м етре guardsize сохранится размер защитной области, установленный в результате предварительного вызова функции pthread_attr_setguardsize ().

По у м олчанию значение атрибута guardsize равно {PAGESIZE} байтам. Реальное значение пере м енной {PAGESIZE} определяется реализацией.

Если предварительно был установлен атрибут stackaddr или stack (т.е. инициатор вызова са м остоятельно выделяет па м ять для стеков потока и управляет этой па м ятью), то атрибут guardsize игнорируется, и никакая защита от переполнения стека потока реализацией не обеспечивается. Вся ответственность в этом случае за управление памятью стека лежит на приложении.

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

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

Ошибки

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

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

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

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

Примеры

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

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

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

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

Атрибут guardsize предла г ается для испо л ьзования при л ожение м по дву м причина м.

1. На защиту от переполнения могут потенциально затрачиваться существенные системные ресурсы. Для приложения, в котором создается большое количество потоков и существует уверенность в том, что при выполнении потоков их стеки никогда не будут переполнены, можно сэкономить системные ресурсы, отключив выделение областей защиты.

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

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

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

Смотри также

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

, .

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

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

Issue 6

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

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

<p>pthread_attr_getinheritsched, pthread_attr_setinheritsched </p>

Имя

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

Синопсис

THRTPS #include

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 определяются в заголовке .

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

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

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных