Параллельное и распределенное программирование на С++ - [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 (), то


Рекомендуем почитать
Язык PL/SQL

В учебно-методическом пособии рассматриваются основы языка программирования PL/SQL, реализованного в системе управления базами данных Oracle Database Server. Приводятся сведения о поддерживаемых типах данных, структуре программ PL/SQL и выполнении SQL-предложений в них. Отдельно рассмотрено создание хранимых в базах данных Oracle программ PL/SQL – процедур, функций, пакетов и триггеров.


Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Параллельное программирование на С++ в действии. Практика разработки многопоточных программ

В наши дни компьютеры с несколькими многоядерными процессорами стали нормой. Стандарт С++11 языка С++ предоставляет развитую поддержку многопоточности в приложениях. Поэтому, чтобы сохранять конкурентоспособность, вы должны овладеть принципами и приемами их разработки, а также новыми средствами языка, относящимися к параллелизму.Книга «Параллельное программирование на С++ в действии» не предполагает предварительных знаний в этой области. Вдумчиво читая ее, вы научитесь писать надежные и элегантные многопоточные программы на С++11.


Справочник по JavaScript

Вниманию читателей предлагается справочник по JavaScript.Справочник предназначается для людей, уже освоивших азы программирования в JavaScript.Справочник создан на основе информации, предоставленной на сайте «Справочник Web-языков» www.spravkaweb.ru.Дата выхода данной версии справочника: 12:33, 21 марта 2007.


Справочник по PHP

Вниманию читателей предлагается справочник по PHP.Справочник предназначается для людей, уже освоивших азы программирования на языке PHP.Справочник создан на основе информации, предоставленной на сайте «Справочник Web-языков» www.spravkaweb.ru.


Программирование на Visual C++. Архив рассылки

РАССЫЛКА ЯВЛЯЕТСЯ ЧАСТЬЮ ПРОЕКТА RSDN, НА САЙТЕ КОТОРОГО ВСЕГДА МОЖНО НАЙТИ ВСЮ НЕОБХОДИМУЮ РАЗРАБОТЧИКУ ИНФОРМАЦИЮ, СТАТЬИ, ФОРУМЫ, РЕСУРСЫ, ПОЛНЫЙ АРХИВ ПРЕДЫДУЩИХ ВЫПУСКОВ РАССЫЛКИ И МНОГОЕ ДРУГОЕ.