Параллельное и распределенное программирование на С++ - [242]
Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 5.
Issue 6
Для согласования со стандартом IEEE Std 1003.1j-2000 были внесены следующие изменения.
• В разделе «Синопсис» была изменена метка. Новал метка THR означает, что рассматриваемые функции теперь являются частью опции Threads (ранее они относились к опции Read-Write Locks стандарта IEEE Std 1003.1j-2000, а также считались частью дополнения XSI).
• Был отредактирован раздел «Смотри также».
pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared
Имя
pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared —функции считывания и установки атрибута process-shared в объекте атрибутов блокировки чтения-записи.
Синопсис
THRTSH #include
int pthread_rwlockattr_getpshared(
const pthread_rwlockattr_t *restrict attr, int *restrict pshared) ; int pthread_rwlockattr_setpshared(
pthread_rwlockattr_t * attr, int pshared);
Описание
Функция pthread_rwlockattr_getpshared() используется для получения значения атрибута process-shared из инициализированного объекта атрибутов, адресуе м ого пара м етро м attr. Функция pthread_rwlockattr_setpshared () позволяет установить атрибут process-shared в инициализированно м объекте атрибутов, адресуе м о м пара м етро м attr.
Атрибут process-sharedycтанaвливaeтcя равны м значению PTHREAD_PROCESS_ SHARED, чтобы разрешить использование объекта блокировки чтения-записи любы м потоко м, и м ею щ и м доступ к области па м яти, в которой он раз м е щ ен, даже если эта область па м яти разделяется нескольки м и процесса м и. Если же атрибут process-shared равен значению PTHREAD_PROCESS_PRIVATE, объект блокировки чтения-записи должен использоваться только потока м и, созданны м и в одно м процессе с потоко м, который его инициализировал; если с эти м объекто м блокировки чтения-записи попытаются работать потоки из различных процессов, поведение такой програ мм ы не определено. По у м олчанию для этого атрибута устанавливается значение PTHREAD_PROCESS_PRIVATE.
Дополнительные атрибуты, их значения по умолчанию и имена соответствующих функций считывания и установки значений этих атрибутов определяются конкретной реализацией.
Возвращаемые значения
При успешно м завершении функция pthread_rwlockattr_getpshared() возвра щ ает нулевое значение и сохраняет считанное значение атрибута process-shared объекта attr в объекте, адресуе м о м пара м етро м pshared\ в противно м случае возвра щ ается код ошибки, обозначающий ее характер.
При успешно м завершении функция pthread_rwlockattr_setpshared() возвращает нулевое значение; в противном случае — код ошибки, обозначающий ее характер.
Ошибки
Функции pthread_rwlockattr_getpshared() и pthread_rwlockattr_ setpshared () м огут завершиться неудачно, если:
[ EINVAL ] значение, заданное пара м етро м attr, недействительно.
Функция pthread_rwlockattr_setpshared () м ожетзавершиться неудачно, если:
[EINVAL] новое значение, заданное для атрибута, попа д ает вне д иапазона значений, д ействительных д ля этого атрибута.
Эти функции не возвра щ ают ко д ошибки [EINTR].
Примеры
Отсутствуют.
Замечания по использованию
Отсутствуют.
Логическое обоснование
Отсутствует.
Будущие направления
Отсутствуют.
Смотри также
pthread_rwlock_destroy(),pthread_rwlockattr_destroy(), pthread_rwlockattr_init (), то м Base Definitions стан д арта IEEE Std 1003.1-2001,
Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 5.
Issue 6
Для согласования со стан д арто м IEEE Std 1003.1j-2000 были внесены сле д ую щ ие из м енения.
• В разделе «Синопсис» была изменена метка. Новая метка THR означает, что расс м атривае м ые функции теперь являются частью опции Threads (ранее они относились к опции Read-Write Locks стан д арта IEEE Std 1003.1j-2000, а также считались частью д ополнения XSI).
• В разделе «Описание» отмечено, что дополнительные атрибуты определяются конкретной реализацией.
• Был отредактирован раздел «Смотри также».
В целях согласования со стандартом ISO/IEC 9899: 1999 в прототип функции pthread_rwlockattr_getpshared () было добавлено ключевое слово restrict.
pthread_self
Имя
pthread_self — функция получения и д ентификационного но м ера (ID) вызывающего потока.
Синопсис
THR #include
pthread_t pthread_self {void);
Описание
Функция pthread_self() возвра щ ает и д ентификационный но м ер (ID) вызываю щ его потока.
Возвращаемое значение
См. раз д ел «Описание».
Ошибки
Ко д ы ошибок не опре д елены.
Функция pthread_self () не возвра щ ает ко д ошибки [EINTR].
Примеры
Отсутствуют.
Замечания по использованию
Отсутствуют.
Логическое обоснование
Функция pthread_self() обеспечивает воз м ожность, аналогичную функции getpid () д ля процессов, поэто м у и логическое обоснование у нее такое же: при вызове функции соз д ания потока и д ентификационный но м ер (ID) соз д анно м у потоку авто м атически не пре д оставляется.
Будущие направления
Отсутствуют.
Смотри также
pthread_create (), pthread_equal (), то
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.